[問題] 關於檔案輸出問題

看板C_and_CPP (C/C++)作者 (土地公阿伯五ㄅ比)時間16年前 (2009/08/11 12:53), 編輯推噓5(5013)
留言18則, 6人參與, 最新討論串1/1
小弟寫了一個輸出檔(輸出整數數列),但出現如下亂碼: ‵′〃‵?〃〃〃〃〃〃??〃??〃?〃〃‵????‵〃〃〃?〃?′?〃‵ 為測試出錯原因,於同位置螢幕輸出相同語法結果無誤(如下整數數列) 2 7 8 2 3 6 5 6 1 5 6 ... 語法如下( C ): fprintf(o_solution, "%d ", x_final[j]); (檔案輸出部份亂碼) printf("%d ", x_final[j]); (螢幕輸出部分正確) 1. 因螢幕輸出部分正確,因此不再對 x_final 做檢查 不知如此做是否適當? 2. 原因如上,所以懷疑出錯在 o_solution 的檔案宣告,但檢查後又發現無誤。 2.1. 所有與 o_solution 有關之部分除宣告外皆已列出(就只有要印上面那樣) 2.2. 大部分的輸入問題結果皆正確(印出整數數列), 僅此輸入現在問題時 產生亂碼(但螢幕輸出部分有正確)。 3. 同時宣告多個檔案型別指位器, 但確認過無名稱之重複,開關檔也皆做過確認。 FILE *i_RROP_model, *i_model_primal, *i_solution_primal ,*i_output_solution, *o_solution, *o_log_final; 以上是所有小弟認為也許有幫助的判斷條件,因專案太大且跨多個檔案,實在也不知道 要怎麼一次PO出。煩請各位高手幫幫忙。我完全找不出原因!!!若還需要什麼輔助判斷 條件請跟我說,我再補上。請教教我該檢查哪裡!!! 萬分感謝!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.54.198

08/11 12:58, , 1F
曾碰過這樣的問題 +1
08/11 12:58, 1F

08/11 13:02, , 2F
第一個懷疑, 你不是開到unicode的文字檔??
08/11 13:02, 2F

08/11 13:05, , 3F
或者其他非ansi的txt檔案, 用UltraEdit之類的開Hex mode
08/11 13:05, 3F

08/11 13:05, , 4F
看一下寫壞的檔案試試??
08/11 13:05, 4F
開檔如下: o_solution = fopen("solution_final.txt", "w"); 目前跑了約10個問題, 只有一個問題有出現這種情況。 這樣是否排除上述情況呢? 還是還要在測試什麼? 感謝!!! ※ 編輯: coldtt 來自: 140.114.54.198 (08/11 13:48)

08/11 13:54, , 5F
所以都是開新檔沒有開以存在的檔案?? 那就不用理我了Orz
08/11 13:54, 5F

08/11 13:59, , 6F
~"~還是感謝!!! 有沒有人知道這是怎麼一回事!!!救救我啊!!!
08/11 13:59, 6F

08/11 14:26, , 7F
正是記事本出包
08/11 14:26, 7F

08/11 14:26, , 8F
記事本誤判編碼成 Unicode 了
08/11 14:26, 8F

08/11 14:26, , 9F
你可以用其他軟體例如Word來開開看就知道
08/11 14:26, 9F

08/11 16:06, , 10F
對了對了!用WorldPad開就可以正常讀取了!真是太感謝您了!!!
08/11 16:06, 10F

08/11 16:06, , 11F
是否可以再請問什麼情況可能會出現這樣的錯誤呢?因同樣的程
08/11 16:06, 11F

08/11 16:07, , 12F
式 用不同的變數大小去跑 只有一特定問題出現這樣狀況!!!
08/11 16:07, 12F

08/11 16:07, , 13F
但我又找不到它的規則性!想請問您是否知道造成原因?
08/11 16:07, 13F

08/11 16:11, , 14F
暈~~所以我就說開Hex拉出來看看先嘛....Orz
08/11 16:11, 14F

08/11 16:11, , 15F
記得Notepad是把txt file的頭兩個byte拿來判斷是否是
08/11 16:11, 15F

08/11 16:11, , 16F
unicode的檔案??
08/11 16:11, 16F

08/11 22:29, , 17F
喔喔 原來有這個問題 筆記推
08/11 22:29, 17F

08/11 22:37, , 18F
文章代碼(AID): #1AWFbOnm (C_and_CPP)
文章代碼(AID): #1AWFbOnm (C_and_CPP)