作者barry800414 (小铭)
看板b98902HW
标题[问题] 求助强者 "r+" 的奇怪现象
时间Fri Dec 4 23:42:37 2009
本来我是打算读书会把fopen 的参数都讲一下
然实际的看有什麽现象发生
不过我今天试了好久
发现了奇怪的事情...
自己都爆炸了 XD
#include<stdio.h>
int main()
{
FILE *ptr;
int data;
ptr=fopen("in.txt","r+");
fscanf(ptr,"%d",&data);
fprintf(ptr,"test");
fprintf(ptr,"%d\n",data);
fclose(ptr);
return 0;
}
in.txt的内容
第一种是只有123456
这六个字元 连换行都没有
这个程式可以成功的让in.txt的内容变成
123456test123456
第二种是123456这六个字元加一个换行
奇怪的事情发生了
跑完之後in.txt的内容还是123456
连"test" 都没办法输出
而我看上课的讲义上r+是这麽写:
Open an existing file for update (reading and writing)
update的定义到底是什麽?
为什麽上面的程式在第二种状况会这样ˊˋ?
请诸位强者知道的帮忙一下 感激不尽
噢我是用devcpp 跑的 附档名存.c
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.241.197
※ 编辑: barry800414 来自: 140.112.241.197 (12/04 23:45)
※ 编辑: barry800414 来自: 140.112.241.197 (12/04 23:46)
※ 编辑: barry800414 来自: 140.112.241.197 (12/05 00:01)