Не знаю, дублируется ли он, если да, отметьте его (нигде не нашел ответов).
Имея это:
#include <stdio.h>
#include <stdlib.h>
int main (void) {
FILE *fp = fopen("txt2", "r+"); // does not help a+ or w+
fprintf(fp,"20");
fseek(fp,1,SEEK_CUR);
fprintf(fp,"19");
for(char c;(c=getc(fp))!=EOF;)
putchar(c);
fclose(fp);
return 0;
}
Невозможно записать в файл, и в конце просмотрите файл через putchar. как открыть файл для чтения, а также для чтения? (Я пробовал r+,w+,a+
, не помогло). По-прежнему путают их различия (r+/w+
- оба позиционируются в начале файла, так что в чем различаются? Только a+
имеет смысл, так как только он записывает в конец (после всего остального) в файл).
Я не знаю, что режим (r / w) + дает какой-то эффект, поскольку никто еще не объяснил различия и варианты использования, но я изменил режим с r+
на w+
и смещение fseek
:
FILE *fp = fopen("txt2", "w+");
...
fseek(fp,10,SEEK_CUR);
, но на выходе будет 2019
вместо 20 19
. Значит ли это, что fseek
обрезает пробелы? или почему не выводится желание?
а это