首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fwrite行为

fwrite行为
EN

Stack Overflow用户
提问于 2016-10-17 09:48:41
回答 1查看 98关注 0票数 0

我假设有一个充满数据的文件。

如果我以"r+"模式打开该文件,并将seek打开到任何非EOF位置,并将一个或多个字符打开到该文件,标准结果是什么?

  • 在POSIX中
  • 在GNU中
  • 在DOS/Windows环境下?

下列字符是否会被覆盖或移除?

如果需要一个例子,这可能是这样一个文件:

文件a.tx

代码语言:javascript
复制
abcdefghijklmnopqrstuvwxyz

C代码片段:

代码语言:javascript
复制
FILE * f = fopen("a.tx", "r+");
fseek(f, 5, SEEK_SET);
char * str = "12";
fwrite(str, 1, 2, f); // this is just an example
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-18 14:42:01

这是一个非常基本的I/O行为..。与POSIX、GNU或DOS/Windows无关,它只是标准C。

它将只在第5位置写入12 (从0开始计数),因此在fg上编写12。请注意,这可能不会立即在文件中可见,因为写入可能会被缓冲;如果您关闭或刷新文件后,那么数据肯定会写入物理目的地。

通常没有移位(你的意思是插入对吗?)在操作系统中可用,而您可以将其视为一种基本功能,但将某些内容插入到文件中需要进行过多的操作才能将其视为基本的OS功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40083202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档