我正在用 C 语言搞乱查找指针,我的练习是将数据库(格式:ID NAME SURNAME AGE)写入文本文件。 所以一切工作正常(保存新数据等),但我找不到如何删除文本文件中的行的解决方案。
void cut_from_file(char* filename, int start, int stop) {
FILE *fp = fopen(filename, "w");
fpos_t position;
fseek(fp, 34, SEEK_SET);
fputs("Hello world", fp);
fclose (fp);
}
注意:我想以某种方式使其成为随机访问文件。
所以我的问题是如何将文件指针向前移动 34 个字符并覆盖该位置上的字符,但保留位置 0 - 33 中的字符不变?
如果我尝试像上面的测试函数那样执行此操作,我会用“/00”覆盖偏移量 0 - 33 之间的所有内容,并且位置 34 是 Hello World。
最佳答案
fopen(filename, "r+") 就是答案,天哪,我把它搞砸了。
谢谢大家:)
关于c - 如何在 C 中使用 stdio 正确移动文件中的查找指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27984485/