Я использую fread для чтения в буфер символов.fread() возвращает количество прочитанных байтов + 1
char buffer[50];
int nbytes = fread(buffer, 1, 50, fp);
файл я прочитал от содержит ровно слово Hello, то есть 5 байт. В приведенном выше примере nbytes
равен 6. Почему?
Кроме того, чтение из файла нулевых байт (т.е. он пустой) возвращает 0.
Возможно, это добавление 0-терминалов? –
Имеет ли файл новую строку? –
'fread()' и 'fwrite()' возвращает количество элементов, которые были успешно прочитаны или записаны. Неверно сказать, что они возвращают несколько байтов. Хотя в вашем случае, так как размер элемента равен 1, это то же самое. Но все равно. –