Указатели на структуры, передач структур функциям

Тема в разделе "Общие вопросы по С и С++", создана пользователем BobiKK, 23 июл 2006.

Статус темы:
Закрыта.
  1. BobiKK

    BobiKK Гость

    Моя начал изучать Си. Но уже в самом начале моя запутался и никак не распутаться.
    Идея: прочитать файл /var/run/utmp используя как можно меньше системных вызовов. Т.е, используя буферизацию
    Код (Text):
    #include <stdio.h>
    #include <fcntl.h>
    #include <time.h>
    #include <utmp.h>

    #define NRECS 16
    #define BUFSIZE (sizeof(struct utmp)* NRECS)


    int utmp_next(int fd_utmp, struct utmp *curr_utmp)
    {
    static char tmp_utmp[BUFSIZE];
    static int result;
    static int curr_rec = 0;
    if (curr_rec == 0)
    {
    result = read(fd_utmp, tmp_utmp, BUFSIZE);
    if (result == 0) return 0;
    result = result/sizeof(struct utmp);
    }
    curr_utmp = (struct utmp *) &tmp_utmp[curr_rec * sizeof(struct utmp)];
    if (curr_rec < result)
    curr_rec++;
    else curr_rec = 0;

    return 1;
    }

    void show_utmp(struct utmp *utshow)
    {
    printf("%s\t", utshow->ut_name);
    printf("%s\t", utshow->ut_line);
    printf("\n");
    }


    int main (int arvg, char *argc[])
    {
    int fd;
    int count;
    struct utmp res_utmp;
    fd = open(UTMP_FILE, O_RDONLY);
    int i;
    while (utmp_next(fd, &res_utmp) != 0)
    {
    show_utmp(&res_utmp);
    }
    return 0;
    }
    gcc вроде бы не ругается, но и вывода никаого нету. Только '\n'
     
Загрузка...
Похожие Темы - Указатели на структуры
  1. filin94
    Ответов:
    1
    Просмотров:
    1.725
  2. ~~DarkNode~~
    Ответов:
    0
    Просмотров:
    27
  3. Vander
    Ответов:
    0
    Просмотров:
    85
  4. Vander
    Ответов:
    0
    Просмотров:
    122
  5. cyber23
    Ответов:
    2
    Просмотров:
    53
Статус темы:
Закрыта.

Поделиться этой страницей