c - 使用 fputs 写入文件
问题描述
我有以下简单的代码:
#include <stdio.h>
int main(){
char buffer[20] = "abc";
FILE *pFile;
pFile = fopen("myfile1.txt", "r+");
fputs("def", pFile);
fgets(buffer, 20, pFile);
printf("buffer content: %s\n", buffer);
fclose(pFile);
return 0;
}
输出是: buffer content: abc
,而不是def
刚刚写入文件。有人可以解释一下吗?
解决方案
如果要随机读取,首先要告诉文件读取例程,从哪里开始。
用于fseek
执行此操作。
例如:fseek(pFile, 0, SEEK_SET)
在您尝试使用fgets
.
推荐阅读
- node.js - 无法从非 EcmaScript 模块导入命名的导出 XXXX(只有默认导出可用)
- spring-boot - SpringBoot Active Directory Authentication 错误代码 32
- algorithm - 不完整表中的最大完整表
- laravel-6 - 如何从链接中获取目录列表
- arrays - 为什么 sizeof() 运算符没有给出正确的大小?
- c++ - C++:无法将字符串转换为 char*?
- keycloak - 如何在keycloak中注册后解决重定向登录页面
- javascript - 循环遍历数组 JavaScript 中的前 3 个项目(反应)
- kubernetes - “Pod The node has condition: [DiskPressure]”和“The node was low on resource: ephemeral-storage”有什么区别
- robotframework - ValueError:参数“url”的值“https://www.google.com”在运行测试时无法转换为无