[問題] 文字檔與二進位檔

看板C_and_CPP作者 (把握當下)時間12年前 (2011/11/29 11:59), 編輯推噓5(508)
留言13則, 5人參與, 最新討論串1/2 (看更多)
問題(Question): 各位大大好 小弟有二個問題要請問各位大大 小弟要讀檔案資料至結構陣列namect_list 裡 小弟這裡有兩個問題 1. 第一個是我想從txt檔案裡面鍵入資料 然後在讀取至宣告player結構陣列裡 但是小弟查過用fgets或fputs方法都是讀取一整段字串 那要怎麼對應到namect 裡面的每一個成員呢??或者是有類似fread fwrite功能的函式呢 2. 使用fread() fwrite() Function寫入檔案之二進位檔(*.dat)要如何開啟呢?? 我用Nodepad++去開都會顯示亂碼 如果能直接在dat上輸入資料 可以節省 慢慢鍵入資料 例如這支程式的新增資料 我覺得太麻煩了 以上二個問題還煩請各位大大幫忙解答 若有描述不清楚小弟在多加描述 程式碼(Code); http://ideone.com/v157h -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.107.172

11/29 21:56, , 1F
1. 整行讀進一個string或char array, 然後再parse它的內
11/29 21:56, 1F

11/29 21:56, , 2F
容轉成你自己的struct的格式; 如果你可以控制.txt的格式
11/29 21:56, 2F

11/29 21:57, , 3F
那用fscanf依格式一項一項讀入就可以了.
11/29 21:57, 3F

11/29 21:57, , 4F
2. 你需要可以以Hex模式下開啟/解讀檔案的軟體, 例如像
11/29 21:57, 4F

11/29 21:58, , 5F
UltraEdit這樣的軟體....
11/29 21:58, 5F

11/29 22:13, , 6F
Notepad++也可以開hex吧...
11/29 22:13, 6F

11/29 22:26, , 7F
Goo了一下, 似乎要自己另外裝Hex Editor的plugin..@_@"
11/29 22:26, 7F

11/29 23:24, , 8F
http://0rz.tw/8sk5t 希望有幫助..
11/29 23:24, 8F

11/30 01:50, , 9F
推樓上t大的聯結:)
11/30 01:50, 9F

11/30 09:21, , 10F
謝謝v大跟t大的詳細解答 第一個方法小弟本來用fscanf讀
11/30 09:21, 10F

11/30 09:21, , 11F
不過因為內容有符號的問題 所以讀進來有問題 後來用
11/30 09:21, 11F

11/30 09:23, , 12F
%*c 去跳過符號的讀取 就ok了
11/30 09:23, 12F

11/30 11:49, , 13F
Visual Studio本身也能開Hex哦!
11/30 11:49, 13F
文章代碼(AID): #1Er5Yxs0 (C_and_CPP)
文章代碼(AID): #1Er5Yxs0 (C_and_CPP)