【发布时间】:2009-05-26 05:22:19
【问题描述】:
我有一个要写入的文件,然后将其大小更改为写入其中的文本大小,例如:
FILE * file...
我从文件中获取所有数据并将文件的大小更改为数据的大小,但它有所不同。字符串的大小小于文件长度,它会剪切它并丢失数据。 可能是什么问题?
while(fgets(cLine, sizeof(cLine), file) )
str.append((string)cLine);
fputs(str.c_str(),file);
_chsize( fileno(file), (int)str.size() );
当我检查它时,fileLength(fileno(file)) 总是大于str.size()!
【问题讨论】:
-
这看起来不像 C。你想要 C 还是 C++?
-
我正在使用 c 中的 teh 文件,但我需要 c++(我知道 fstream,但出于 mu 目的,我需要 c
-
更改文件大小的方式不正确。您依赖于错误的假设,即文件大小应与字符串中包含的字符数相同。
-
为什么不正确我认为这就是我想要做的?