Я использую функцию fprintf для печати в новый файл
Я использую следующую команду для записи несколько раз:
fprintf(fp, "%-25s %d %.2f %d",temp->data.name, temp->data.day, temp->data.temp, temp->data.speed);
Проблема в том, что иногда файлполучает дополнительную новую строку в качестве первого символа.Могли ли это быть остатки из некоторого буфера, я действительно не знаю ...
typedef struct Data {
char name[26];
int day;
int speed;
float temp;
} Data ;
@ spatz Вы были правы, я новичок в строковом формате, и мне сказали сделать одиндля fscanf, где я должен был ожидать неопределенное количество пространства между битами данных, вот что я придумал, я почти уверен, что это источник проблемы:
check=fscanf(fp1, "%20c%*[^0-9]%d%*[^0-9]%f%*[^0-9]%d%*[^\n]%*c", name, &day, &temp, &speed);
толькопервая строка читается нормально, и все потом читает новую строку предыдущей строки.
Может кто-нибудь показать мне, как правильно написать эту вещь?