Re: [問題] 寫入至檔案串流
: FILE *fp1;
: while((fgets(str,100,stdin))!='0a'){
這個 '0a' 是搞笑的嗎?還是我有所誤解? compile error ~
: fputs(str,fp1);
: }
: 可是就如前面所說的會卡在如何在我按下ENTER或鍵盤輸入什麼才能停止寫入並跳出?
我直說你要的是什麼好了。
以文本模式開啟之檔案而言,最常用的三個讀檔指令是
fscanf、fgets、fgetc,仔細翻你的書,或上網查他們 傳回值 說明
大致如下
fscanf: 傳回成功匹配引數之數量,若讀到檔案結束時,則傳回 EOF。
fgets : 傳回字串指標,失敗時傳回 NULL,當檔案結束 (EOF) 時會喚起 NULL
fgetc : 傳回讀到字元,檔案結束時傳回 EOF。
好了,接下來的都一樣。
while((fgets(str,100,stdin))!= NULL){
puts(str);
}
若為檔案,以 EOF 為結束,重點是 EOF 怎麼送對吧?
目前,在 Windows 作業系統裡,當你按下 Ctrl + Z,再按 Enter,
就是送出 EOF;在 Linux 作業系統裡,按下 Ctrl + D,也是 EOF。
至於之前推文的 Ctrl + C ,說的是 Break,像是
while(1) puts("hello, world!!");
這種 dead loop, 事實上按 Ctrl + C 就強迫終止了。
以上,請參閱。
--
If there is no tomorrow,
I want to see you last time..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.177.78.41
※ 編輯: tropical72 來自: 180.177.78.41 (08/19 22:15)
推
08/19 22:16, , 1F
08/19 22:16, 1F
→
08/19 22:16, , 2F
08/19 22:16, 2F
→
08/19 22:16, , 3F
08/19 22:16, 3F
→
08/19 22:20, , 4F
08/19 22:20, 4F
→
08/19 22:21, , 5F
08/19 22:21, 5F
→
08/19 22:23, , 6F
08/19 22:23, 6F
→
08/19 22:24, , 7F
08/19 22:24, 7F
→
08/20 00:26, , 8F
08/20 00:26, 8F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章