У меня возникли проблемы с тем, чтобы эта функция fseek() работала в моем коде. Текст, который я написал, просто не начинается с того места, которое я указываю, и я не знаю, почему. Он должен начинать запись с \n и просто перезаписывать весь текстовый файл. Даже если я открою его с помощью a
, он просто не пойдет туда, куда я командую через параметры.
fclose(file);
FILE *file_a = fopen("ex6.txt", "w");
fseek(file_a, -1, SEEK_END);
puts("Write text to add:");
while((letter = getchar()) != '\n')
{
fputc(letter, file_a);
};
Что случилось? Почему это не работает?
0
в fseek.-1
будет за 1 байт до конца. - person Dark Falcon   schedule 25.06.2013w
усекает файл (если он существует), fseek() позволит вам прыгать, как только вы начали помещать в него материал.a
иa+
всегда пишут в конец файла. Как вы обнаружили,w+
сохраняет любой существующий контент, позволяя вам расширять/перезаписывать. - person TripeHound   schedule 19.03.2014