作者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)