導航:首頁 > 文件教程 > mfc寫二進制文件

mfc寫二進制文件

發布時間:2024-09-09 23:25:23

1. MFC的CFILE 打開文件為什麼老是出錯

【問題詳細內容】用fopen打開二進制文件,先用wb+,如果成功開始讀寫,如果失敗用rb+打開,然後讀寫,如果再失敗,退出程序,每次失敗都會返回GetLastError(),有時候成功,有時候兩次都顯示錯誤123。查詢後發現123是卷標或路徑的語法錯誤,首先針對的是同一文件,其次用的路徑是windows傳給我的參數,但是有時會出錯,有時不會。是怎麼 回事?【解答】檢查出錯的時候,是不是文件名中有空格,或者有中文。如果是,那麼就別用fopen了,用CFile類來代替吧。然後給程序里增加一些調試信息,當出錯的時候,把文件名列印出來看看是否正確。發送方用的strlen()+1定義長度,這樣可以把字元串尾部的結束符一起發送過去

2. MFC二進制轉換字元串

把二進制數據按十六進制(其它進制也行)輸出就行了啊,比如:
//把二進制數據輸出成16進制可列印字元串,如:
//123456->010203040506
//輸出格式也可以自己改下
int Bin2Str(const char *pSourc, char *pDes, int iLenOfSourc)
{
if (pSourc == NULL || pDes == NULL)
{
return -1;
}

for (int i = 0; i < iLenOfSourc; ++i,pDes += 2)
{
sprintf(pDes, "%02x", pSourc[i]);
}

return 0;
}
調用:
char cTest[]={1,2,3,4,5,6,7,8,9};//測試數據,就是你從文件讀取出來的二進制數據
char cBuf[20] = {0};//接收緩沖區,大小要夠,可以動態分配
Bin2Str(cTest, cBuf, strlen(cTest));//如果二進制數據中間有0這種數據,不能用strlen來計算
cBuf裡面的就是可以顯示字元串了,可以給控制項賦值

3. mfc 怎麼完成對txt文件的讀取和寫入

我寫了一個。

界面一個文本框兩個按鈕,文本框關聯一個CString型變數m_Data,設置屬性為Verticalscroll和Wantreturn。

兩個按鈕對應的讀寫函數分別如下

voidCFileTxtDlg::OnRead()

{

//TODO:

CFileDialogfDlg(TRUE);

fDlg.m_ofn.lpstrFilter="TextFiles(*.txt)*.txt";

if(fDlg.DoModal()==IDOK)

{

CStdioFilestdFile;

stdFile.Open(fDlg.GetPathName(),CFile::modeRead|CFile::typeBinary);

DWORDfileLen=stdFile.GetLength();

char*pBuf=newchar[fileLen+1];

pBuf[fileLen]=0;

stdFile.Read(pBuf,fileLen);

UpdateData();

m_Data=pBuf;

UpdateData(FALSE);

deletepBuf;

stdFile.Close();

}

}

voidCFileTxtDlg::OnWrite()

{

//TODO:

UpdateData();

CFileDialogfDlg(FALSE);

fDlg.m_ofn.lpstrFilter="TextFiles(*.txt)*.txt";

fDlg.m_ofn.lpstrDefExt="txt";

if(IDOK==fDlg.DoModal())

{

CStdioFilestdFile;

stdFile.Open(fDlg.GetPathName(),CFile::modeCreate|CFile::modeWrite|CFile::typeBinary);

stdFile.WriteString(m_Data);

stdFile.Close();

}

}

如要源代碼發消息

4. 怎麼讀取MFC工程中的資源文件

如果是字元串資源,那麼使用APP->LoadString(IDS_XXXX);就可以了,如果資源不是二進制的,那麼推薦這樣使用。
如果是二進制資源(比如音頻文件),那麼注意不能使用字元串變數接收,因為有可能遇到\0造成無法讀取。方法很多,直接網路「VC 二進制資源」即可,代碼很多,就不復制了。

閱讀全文

與mfc寫二進制文件相關的資料

熱點內容
sfc文件 瀏覽:262
公牛蘋果數據線2a什麼意思 瀏覽:489
勒索蠕蟲檢測工具 瀏覽:68
蘋果手錶固件描述文件下載 瀏覽:330
android獲取sd卡視頻文件 瀏覽:949
蘋果手機設置通用網路設置 瀏覽:83
md298zpa是什麼版本 瀏覽:317
srslog文件在哪個目錄 瀏覽:948
無法找到文件中可刪除的圖片 瀏覽:739
dnf90版本副職業 瀏覽:848
c只讀打開文件 瀏覽:575
如何在電腦文件上添加圖片 瀏覽:297
xslist網站怎麼登錄 瀏覽:735
ftp不能直接打開文件 瀏覽:145
ps調整後的xps文件 瀏覽:572
小米如何取消wifi和數據同時使用 瀏覽:347
微信數據6個g怎麼清理 瀏覽:533
找廠房去哪個app 瀏覽:881
linuxmini 瀏覽:997
如何找編程類的工作 瀏覽:286

友情鏈接