Файлы:напечатать Все Элементы Типизированного Файла

Тема в разделе "Общие вопросы по С и С++", создана пользователем rinalast, 18 апр 2013.

  1. rinalast

    rinalast New Member

    Репутация:
    0
    Регистрация:
    18 апр 2013
    Сообщения:
    2
    Симпатии:
    0
    Помогите пожалуйста завтра практику сдавать вот последняя задача осталась!
    Напечатать все элементы типизированного файла, каждая запись которого - число.
    Рассмотрим два варианты:
    1) известно, что в существующем файле записаны 10 чисел.
    2) размер существующего файла не известен.
     
  2. rrrFer

    rrrFer Гость

    Репутация:
    0
    размер типизированного файла легко узнать - перемещаешь указатель в конец (SEEK_END) и получаешь позицию
    Код:
    fseek(...0, SEEK_END);
    int size = ftell(...);
    хотя, зачем это непонятно, вроде бы feof работает также как и у текстовых файлов. но можешь поделить size на sizeof(int) и получить число записей в файле.
    если в файле не целые числа -то sizeof(что-то там) соответствено.
    Код:
    int val;
    while(n > 0) { // n - число записей
    fread((char*)&val sizeof(int), 1, file);
    printf("%d", val);
    }
    как то там схемотично
     
Загрузка...

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