今天在使用fopen的时候,遇到了fseek(fp,0,SEEK_END); 然后想在文件的头部修改信息,但是无论如何都无法修改,而只会在文件的最后append,最后发现了问题如下:
FILE *fp = fopen(_db_file,"ab+);
的文件用ab+方式打开,a的意思就是追加,声明原内容不会变化。
如果要修改原有内容,应该以rb+方式打开,这种方式,也可以向末尾追加内容。
在使用fopen时,错误地使用了'ab+'方式打开文件,这导致只能在文件末尾追加内容而无法在头部进行修改。正确的做法应该是使用'r+b'方式打开文件,这样既可以在文件末尾追加内容,也可以在文件头部进行修改。
今天在使用fopen的时候,遇到了fseek(fp,0,SEEK_END); 然后想在文件的头部修改信息,但是无论如何都无法修改,而只会在文件的最后append,最后发现了问题如下:
FILE *fp = fopen(_db_file,"ab+);
的文件用ab+方式打开,a的意思就是追加,声明原内容不会变化。
如果要修改原有内容,应该以rb+方式打开,这种方式,也可以向末尾追加内容。
2150