小白一枚求教!謝謝了
用的vs2015
CFile fileQ;
CString pszfilename = _T("QQzm.txt");
CFileException fileexception;
int iOpenresult;
iOpenresult=fileQ.CFile::Open(pszfilename, CFile::modeCreate | CFile::modeNoTruncate | CFile::modeReadWrite, &fileexception);
if (!iOpenresult)
{
TCHAR szerror[1024];
fileexception.GetErrorMessage(szerror, 1024);
MessageBoxW(szerror);
fileQ.Close();
}
else
{
int n=0;
n = fileQ.GetLength();
char *sread = new char[n+1];
fileQ.Read(sread, n);
sread[n] = 0;
MessageBoxW((LPCTSTR)sread);
fileQ.Close();
}
uj5u.com熱心網友回復:

檔案內容 111 111 222 222 333 333 444 444
uj5u.com熱心網友回復:
先看你讀取的長度是否有這么多資料,然后sread 初始化以后清零一下。再讀取uj5u.com熱心網友回復:
QQzm.txt里是什么內容呢?確定都是文本字符?uj5u.com熱心網友回復:
推薦使用WinHex軟體查看硬碟或檔案或記憶體中的原始位元組內容。電腦記憶體或檔案內容或傳輸內容只是一個一維二進制位元組陣列及其對應的二進制地址;
人腦才將電腦記憶體或檔案內容或傳輸內容中的這個一維二進制位元組陣列及其對應的二進制地址的某些部分看成是整數、有符號數/無符號數、浮點數、復數、英文字母、阿拉伯數字、中文/韓文/法文……字符/字串、匯編指令、函式、函式引數、堆、堆疊、陣列、指標、陣列指標、指標陣列、陣列的陣列、指標的指標、二維陣列、字符點陣、字符筆畫的坐標、黑白二值圖片、灰度圖片、彩色圖片、錄音、視頻、指紋資訊、身份證資訊……
uj5u.com熱心網友回復:
用ue查看以下讀取的文本檔案后面是不是有其他東西,陣列用之前memset 0x0
單步除錯看看監控一下數值變化
uj5u.com熱心網友回復:
fileQ.Read(sread, n)看看是否讀取的回傳值是否是n,另外用二進制查看軟體查看下檔案末尾多出來的位元組是什么。ps:彈出框函式引數為多字符集,MessageBoxW改為MessageBox看看。
uj5u.com熱心網友回復:
應該是檔案長度的問題轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/84202.html
標籤:基礎類
