[請益] 關於讀檔問題

作者: fu3mo6 (ㄚ龐)   2012-05-12 09:34:52
我現在在寫is_spanning_tree
可是一直遇到很奇怪的問題@@
因為它要先讀檔,所以我把之前寫read_graph的讀檔那邊拿來用
但是卻一直無法讀(明明就是copy & paste啊...)
我是用FILE*加fopen去開檔案的,他也沒有回傳NULL,表示有找到檔案
但是讀到的檔案(是我先前做出來的gn##_mst_p.dot和bfs/dfs等)卻都是亂碼
fscanf掃不到東西,fgetc會讀到一堆亂碼
為什麼讀gn#.dot可以,讀自己寫出的檔卻出現問題@@
(p.s.我都是用printf寫檔的,看起來是沒有問題,但我懷疑他存了怪異的東西在檔內)
請問有沒有其他人遇到類似的問題?該怎麼解決?
感謝!
作者: anfranion (南‧生命的意義是經歷)   2012-05-12 09:41:00
file的編碼問題? 你用什麼創這個檔案
作者: fu3mo6 (ㄚ龐)   2012-05-12 09:55:00
FILE* fout = fopen ("檔名", "w+")
作者: zeroshine (rain)   2012-05-12 10:54:00
我都用ifstream讀檔欸
作者: anfranion (南‧生命的意義是經歷)   2012-05-12 11:15:00
你要read的話最後不是應該要 "r"嗎(?
作者: fu3mo6 (ㄚ龐)   2012-05-12 14:08:00
噢我是說創dfs..等等時是用w+,讀的時候是r沒錯
作者: anfranion (南‧生命的意義是經歷)   2012-05-12 21:26:00
恩...有可能是你的輸出輸到了什麼奇怪的東西要不要把一個output檔傳上來看看呢?
作者: Usoul   2012-05-12 23:06:00
你可以試試看把gn#.dot扔到is_spanning_tree,看能不能讀檔如果不能,就代表parser寫錯。可以的話,借朋友的output檔再試試看吧。 這樣問題出在哪會比較明確
作者: fu3mo6 (ㄚ龐)   2012-05-12 23:23:00
問題解決了~感謝!
作者: anfranion (南‧生命的意義是經歷)   2012-05-13 02:05:00
好奇問是什麼原因呢~
作者: fu3mo6 (ㄚ龐)   2012-05-13 15:41:00
我readout那些檔案之後沒有把FILE*設回beginning所以他一直指著eof那邊
作者: OckhamsRazor (魏格納的友人)   2012-05-13 19:19:00
其實記得fclose就不會有問題了...

Links booklink

Contact Us: admin [ a t ] ucptt.com