我正在向文件写入一些字符串,然后将其倒带。这,我正在做一个循环。
实际上,它工作得很好,但在文件末尾,它复制了最后一个字符串中的一些字符。我如何摆脱额外的字符?向字符串中的文件写入字符串将额外的字符放在文件末尾
所以,我有循环,在循环结束写入字符串文件,倒带它的每一次:
for循环{
的fputs(“字符串1 \ n”,文件) ;
fputs(“string2 \ n”,file);
fputs(“string3 \ n”,file);
fputs(“stringLAST”,file);
fseek(file,0,SEEK_SET);} //或倒带(file);我得到了同样的结果。
结果我的文件看起来是这样的:
字符串1
字符串2
STRING3
stringLASTstringLASTASTASTSTST
现在,我对stringLAST
字符串的字符外。但我需要它看起来像这样:
字符串1
字符串2
STRING3
stringLAST
他们可能是从以前的运行中遗留下来的。我看到你正在寻找和倒带。如果您在列出的代码之前立即打开输出文件(删除或截断它),它可能会正常工作。 –
您是否检查错误?错误时,fput返回EOF。你有没有试过刷新文件?倒带时,它可能仍然在缓冲区中。 – stonemetal
是的,我必须用'ftruncate(fileno(file),0)'截断它。现在,我必须查找这意味着什么。 –