[問題] MFC fopen fprintf fclose
遇到的問題: (題意請描述清楚)
我有一段程式碼大概如下 (在某條thread中被執行)
int timeStamp = GetTickCount();
while(100000)
{
timeStamp = GetTickCount() - timeStamp;
fopen(some file);
fprintf(timeStamp + some data);
fclose(opened file);
}
希望得到的正確結果:
程式跑出來的錯誤結果:
TIMESTAMP 的值 幾乎都是零 有幾次會有1X左右的數值
fprintf的過程中 有可能會出現 str!=null的錯誤
想請問的是
1. gettickcount 是否有使用上的限制 (搞不太懂為什麼有時候會有數值有時候卻是零)
2. 如何避免 fprintf出現debug error的問題
3. 如果 問題一沒有辦法解答的話 是否有辦法計算 做一次的迴圈 的時間 (因上述gettickcount無效)
4. 好像有很多種寫檔方式 fopen, fstream, createfile, ....有沒有直接的效能分析?
因為處理檔案的過程很單純 希望能找一個比較有效率的方法
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
MFC VC++2005
有問題的code: (請善用置底文標色功能)
補充說明:
不曉得有沒有 明確定義硬碟寫檔限制的資料 或是參考
例如幾KB的檔案 和 幾MB的檔案 一次存會比較快
我知道小檔跟大檔 在硬碟存取上有差異 不過不曉得要怎麼GOOGLEE 才能找到比較的資料
所以請教一下各位
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.204.2.62
→
11/19 01:07, , 1F
11/19 01:07, 1F
→
11/19 01:15, , 2F
11/19 01:15, 2F
→
11/19 01:15, , 3F
11/19 01:15, 3F
→
11/19 01:23, , 4F
11/19 01:23, 4F
→
11/19 01:27, , 5F
11/19 01:27, 5F