【发布时间】:2012-03-30 18:42:24
【问题描述】:
这里我有一个文件名,我想先创建这个文件。
我想在 File 中留下一些字节,而不是写数据。
所以在下面的代码中我使用了fseek(pFile, 10, SEEK_SET)。
比我在这里写的"sam" 文件从第 11 位开始。
然后关闭文件并再次以附加模式打开此文件 4 次并在文件末尾写入“abc"”。
所以example.txt 中的总字节数是25 字节。
所以文件数据是这样的..........samabcabcabcabc。
但我不想在这个文件数据中出现“sam”。意味着我只想要 22 个字节。
如果我在这里 dnt 使用 fputs("sam", pFile); 而不是它只给出 12 个字节,文件数据看起来像 abcabcabcabc。
我想在 ..........abcabcabcabc 之类的文件中输出。
在实际程序中,我有一个函数可以在 10 个字节后附加数据。并且这个函数调用了多次,我该如何实现这个目标?
我的示例代码在这里。
#include <stdio.h>
int main() {
FILE * pFile;
pFile = fopen("example.txt", "wb");
fseek(pFile, 10, SEEK_SET);
fputs("sam", pFile);
fclose(pFile);
append("example.txt");
append("example.txt");
append("example.txt");
append("example.txt");
return 0;
}
void append(char *file) {
FILE * pFile;
pFile = fopen("example.txt", "ab");
fputs("abc", pFile);
fclose(pFile);
}
【问题讨论】:
-
您应该检查各种函数的返回值。我不确定在文件末尾之外搜索是否合法/便携。