ReadFile返回值是true,但是讀取到的是0字節(jié),輸出緩沖區(qū)為string類型,讀取數(shù)據(jù)為空
原始代碼:
斷點打到int a = 0;外層判斷處:

這種情況是因為在調(diào)用WriteFile之后,文件指針已經(jīng)在文件尾,所以ReadFile是從文件尾讀的。
解決方法就是將文件指針移動到文件開始。
在調(diào)用ReadFile之前使用SetFilePointer將文件指針移動到文件開始:

但是發(fā)現(xiàn)strRet的值為空,這也是一個坑,輸出緩沖區(qū)最好是使用基本類型:

補充一點,WriteFile之后就使用ReadFile讀取寫入的內(nèi)容,有的說是可能數(shù)據(jù)還沒有寫入文件,要使用FlushFileBuffers刷新緩沖區(qū),之后再調(diào)用ReadFile讀取內(nèi)容,但是,我調(diào)試的過程中發(fā)現(xiàn)有沒有FlushFileBuffers對于讀取數(shù)據(jù)沒有影響