[問題] 一個讀檔的問題
開發平台(Platform): (Ex: VC++, Gcc, Linux, ...)
linux,g++
額外使用到的庫(Library Used) (Ex: OpenGL, ...)
問題(Question):
用structure讀檔的使用問題
餵入的資料(Input):
typedef struct {
FOURCC idxFourCC;
DWORD dwSize;
struct avioldindex_entry
{
DWORD ckid;
DWORD dwFlags;
DWORD dwChunkOffset;
DWORD dwChunkLength;
}aIndex[];
} AVIINDEXENTRY;
預期的正確結果(Expected Output):
小弟目前是想把avi裏面的idx1的區塊給讀出來
他的格式是最前面兩個分別代表idx以及size(idxFourCC && dwSize)
後面都是以16個byte為一組的陣列
AVIINDEXENTRY idx1;
fread(&idx1,sizeof(idx1),1,pfAvi);
只是在idx1.aIndex[0].ckid這邊就錯了,前面的idxFourCC跟dwSize都有讀出來,
我是用UltraEdit去做比對的@@,之後我試著在idxFourCC跟dwSize讀完之後(這邊有
把aIndex的structure給註解掉)
再利用一個DWORD去讀,反而有正確讀出來
在這邊不知道是不是小弟的structure寫的方式不對?
另外還有一點疑惑的事,aIndex是一個陣列(aIndex[]),只是沒有給陣列的大小
困惑的是fread裏面的sizeof要怎麼找出aIndex[]的大小?
麻煩各位版友指正了@@ 謝謝
錯誤結果(Wrong Output):
程式碼(Code): (請善用置底文標色功能)
補充說明(Supplement):
--
~宅男的四個徵兆~
∠□ ○ ! * \○/ ★ (○ ?
╦╦└□ " ○□═ □ □>
║║√√ ╦══╦ ∥ |\
一回家就上PTT 每天想正妹 以當好人為樂 忘記正妹虧欠自己
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.197.57
※ 編輯: Arim 來自: 114.32.197.57 (12/24 23:50)
→
12/25 00:06, , 1F
12/25 00:06, 1F
恩~不知道為什麼可以編譯過~小弟這方面的觀念有待加強...
※ 編輯: Arim 來自: 114.32.197.57 (12/25 00:19)
→
12/25 00:20, , 2F
12/25 00:20, 2F
→
12/25 00:21, , 3F
12/25 00:21, 3F
→
12/25 00:22, , 4F
12/25 00:22, 4F
有吧@@ 我的struct的abstract name(應該是叫abstract name)有給一個
avioldindex_entry,然後他在AVIINDEXENTRY裏面的instance是aIndex[]
不知道小弟這樣講有沒有錯@@
※ 編輯: Arim 來自: 114.32.197.57 (12/25 00:25)
※ 編輯: Arim 來自: 114.32.197.57 (12/25 00:25)
→
12/25 00:27, , 5F
12/25 00:27, 5F
→
12/25 09:01, , 6F
12/25 09:01, 6F
→
12/25 09:03, , 7F
12/25 09:03, 7F
→
12/25 11:16, , 8F
12/25 11:16, 8F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章