看板 C_and_CPP 關於我們 聯絡資訊
使用codeblocks 寫C++ 想把讀檔寫成function (已將問題簡化) 檔案 a.txt 內容 n 5 s 2 為了閱讀方便 , 將程式碼貼在網站 http://ideone.com/n9unn 很不懂的是 第8行要怎麼表達? ifstream fin(filename); 覺得很奇怪 這樣的程式碼可以執行 ??? 因為自己原本的程式也是這樣寫 卻跑不出來,反而這個簡易的版本可以執行! 因為在main裡面沒有宣告任何東西 就寫read("a.txt",n,s); 再加上第8行的ifstream fin(filename); 這樣子而已! 可是自己的大程式 , 卻要將第8行寫成ifstream fin("a.txt"); 才可以執行!!! 我不懂為什麼會這樣??? 在function裡面 不是應該寫 ifstream fin(filename); 然後在main裡面 再看你要讀哪一個檔案 再把檔案名稱寫入嗎? 不知道這樣說明會不會很亂??? 其實就是想請教 若想把讀檔的模式做成一個function來運用 那在function裡面要怎麼寫? 在main()裡面要怎麼寫??? 懇請各位高手指教~~~~ ><" 百思不得其解 弄了好幾個小時了 想不透 @@" 謝謝您~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.99.192
linotwo:能不能把大程式呼叫 read 的方式寫出來? 05/04 21:45
lovesnake:fstream fin; fin.open(fileName, ios::in); ? 05/04 21:57
lovesnake:或者傳string進來用c_str讓他自己轉? 05/04 21:58
ieck:大程式超大的 還有一堆標頭檔 想說寫個簡單的表達一下 沒想到 05/04 22:09
ieck:沒想到~ 這個小程式居然能跑 @@" 05/04 22:09
ieck:請問love大 不是很懂您的意思說~ 在function寫還是在main? 05/04 22:11
firejox:你在main裡open file 但在function裡並不會看到它 05/04 22:35
firejox:如果你要在main open file 就必須傳一個代表file stream的 05/04 22:37
firejox:物件 而非檔名 05/04 22:37
ieck:所以在function寫 ifstream fin(filename) 05/04 23:36
ieck:那在main裡面要開啟 a.txt , 要怎樣寫呢??? 05/04 23:37
ieck:還是不太懂用法 要怎麼寫??? 05/04 23:40
james732:看不太懂你的問題,另外排版也請加強 05/04 23:40
james732:應該說,你為什麼要寫成function?你想要怎麼使用它? 05/04 23:42
ieck:抱歉~ ><" 以後會加強~ 05/04 23:43
ieck:我想要呼叫這個讀檔的function 然後在main裡面呼叫它讀a.txt 05/04 23:44
ieck:我要用main呼叫讀檔的function去讀a.txt這個檔案 05/04 23:46
ieck:然後讀檔的function 再根據a.txt內容讀入 存取 05/04 23:47
ieck:現在不知道在main裡面的語法要怎麼寫 function的要怎麼寫??? 05/04 23:47
james732:我還是看不懂耶…你貼的範例程式哪裡不符合你的需求? 05/04 23:48
ieck:現在的問題就是 我的大程式這樣寫不能run 05/04 23:53
james732:那我會建議你還是把大程式貼上來吧 05/04 23:54
ieck:想說寫個小程式來問 結果小程式居然跑的動 @@" 05/04 23:57
firejox:我不會C++的檔案讀寫 假如是用C的開檔方式 我會用FILE* 05/05 09:56
firejox:作參數傳遞 05/05 09:57
firejox:大概像這樣 http://ideone.com/jXPTf 05/05 10:11
ieck:感謝各位的指點 我再試看看別的寫法 ^^ 05/05 18:15
apowu:讀檔的話,我會先用fopen之後接fread,沒看過直接read的 05/05 18:21
diabloevagto:2F   05/06 00:30
diabloevagto:你都用C++了為什麼不用C++方式呢?比較直覺 05/06 00:31