Я хотел бы начать с это мой первый пост, и я не делаю это как домашнее задание, а просто представить себе, чтобы писать на C.Перезапись текстовый файл в C
Пытаюсь чтобы постоянно перезаписывать файл с помощью цикла for, но на полпути номера начинают сходить с ума.
Вот результат:
у = 19530
у = 3906
у = 78119530
у = 15623906
у = -1054493078
Может кто-нибудь, пожалуйста, объясните, почему в третьем ration цикла, он перескакивает до 78119530?
#include <stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[]){
int x = 19530;
int y;
FILE *buff;
buff = fopen("BUFF.txt","w+");
for(int i = 1; i <= 5; i++){
fprintf(buff, "%d", x);
rewind(buff);
fscanf(buff, "%d", &y);
printf("y = %d\n", y);
y = y/5;
fclose(fopen("BUFF.txt", "w+"));
fprintf(buff, "%d", y);
}
return 0;
}
Ваша программа разбита многочисленными способами. Почему вы не проверяете ошибки? Почему вы всегда печатаете 'x', а затем читаете' y'? – fuz
Nevermind Я идиот. :( –
Итак, я удалил fprintf (buff, «% d», x) и перемотал (buff); из цикла for теперь правильный результат для пользователя. Однако мой вывод в файл по-прежнему неверен. –