[問題] 請問讀檔這樣寫有差別嘛?

看板C_and_CPP (C/C++)作者 (我愛阿蓉)時間16年前 (2009/08/19 14:39), 編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/1
大家好 目前我有一個binary file裡面全部填的是float值 所以我這樣讀 FILE * pFile; pFile = fopen ( filePath , "rb" ); fseek (pFile , 0 , SEEK_END); int lSize = ftell (pFile)/sizeof(float); cout<<"file size:"<<lSize<<endl; rewind (pFile); lSize就是有幾個float了 之後我用 float *Tex=new float[lSize]; ================================== 這邊我使用了迴圈初始Tex for(int q=0;q<lSize;q++)Tex[q]=0.0; ================================== 再把整個資料讀出來 fread (Tex,sizeof(float),lSize,pFile); 我要問的是 初始的那部分有必要寫嘛??? 我遇到奇怪的bug是我程式執行10次 做同樣這段事情 可能有兩次會壞掉(我指的壞掉是我把這資料用glTexImage做成2D貼圖 會秀出怪顏色) 有時就成功 所以我加上初始化這段 並且在跑看看 目前沒出現壞掉的情形 我就懷疑是這個出問題 但是我覺得初始化沒什麼必要?????????????????? 請問各位覺得呢!? thx -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.207.187

08/19 14:53, , 1F
感覺沒必要....@_@"
08/19 14:53, 1F

08/19 23:54, , 2F
我覺得 你可以考慮加一段Code去印出每次fread出來的值
08/19 23:54, 2F

08/19 23:55, , 3F
是否都正確?!這樣也許有助於你找出問題?!
08/19 23:55, 3F

08/20 00:36, , 4F
我覺得可以把初始化先拿掉, 然後把初值印出來
08/20 00:36, 4F

08/20 00:38, , 5F
看看是不是初值的問題, 不過一般沒初使化的初值不都是
08/20 00:38, 5F

08/20 00:41, , 6F
0嗎?? 配記憶體給變數前會先清空嗎 ?? 由誰決定 ??
08/20 00:41, 6F

08/20 00:43, , 7F
C與C++並不保證未初始化的變數裡面會塞什麼鬼
08/20 00:43, 7F

08/20 00:49, , 8F
不過原po的case預期fread應該要把該array都填上資料@_@"
08/20 00:49, 8F
文章代碼(AID): #1AYvuYdX (C_and_CPP)
文章代碼(AID): #1AYvuYdX (C_and_CPP)