c - 如何在 C 中使用 stdio 正确移动文件中的查找指针

标签 c file random-access

我正在用 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/

相关文章:

javascript - 检查服务器状态时出现延迟。用jquery

clojure - 如何通过 Clojure 中 HashMap 上的索引进行随机访问?

c - 对于位域,unsigned char 或 unsigned int 哪个更好用,为什么?

c - 在 C 中使用 unsigned 并产生负临时结果

php - 可以将文件从客户端的机器上传到托管表单的网络服务器外部的服务器吗?

java - 对多个对象进行快速随机搜索

java - 使用随机文件访问拆分文件不起作用

c - 随机数生成器添加 "-"以获取更大的长度

c - 为什么我们在使用单指针传递给函数时必须对二维数组进行类型转换?

PHP 表单不上传文件