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

rinalast

New member
18.04.2013
2
0
#1
Помогите пожалуйста завтра практику сдавать вот последняя задача осталась!
Напечатать все элементы типизированного файла, каждая запись которого - число.
Рассмотрим два варианты:
1) известно, что в существующем файле записаны 10 чисел.
2) размер существующего файла не известен.
 
R

rrrFer

#2
2) размер существующего файла не известен.
размер типизированного файла легко узнать - перемещаешь указатель в конец (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);
}
как то там схемотично