【发布时间】:2013-05-07 14:48:24
【问题描述】:
我正在尝试在打开的文件中更改光标位置。
fp = fopen("dirty", "a+");
fprintf(fp, "Text at end of file");
// seek to end of third line (eg.)
fprintf(fp, "Text at end of third line");
我已尝试关闭并重新打开文件和fseek,但没有成功。
任何帮助将不胜感激。
【问题讨论】:
-
只要你知道第三行的位置,
fseek就可以了。你能告诉我们你有什么不能使用fseek()吗? -
感谢您的回复。我发现我应该用 r+ 模式打开文件。现在
fseek(fp, 2, SEEK_SET);可以工作了。我怎样才能找到行尾的权利?超出 EOL 将开始覆盖下一行。 -
你需要知道行尾在什么位置。这是无可替代的。
-
好吧,我想我得弄清楚这一点。我怎样才能批准你的回答?
-
如果一行的长度未定义,则不可能简单地 SEEK。