導航:首頁 > 文件教程 > 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寫二進制文件相關的資料

熱點內容
盒子里有三個蘋果用英語怎麼說 瀏覽:417
word2013插入文件 瀏覽:593
電腦安裝了迅捷壓縮文件打不開 瀏覽:77
達夢資料庫驅動安裝 瀏覽:167
招投標文件範本哪裡下載 瀏覽:807
java技術論壇 瀏覽:982
如何把游戲的數據刪光 瀏覽:84
騰訊空間游戲介面對接程序開發 瀏覽:641
把cad安裝文件改名了打不開 瀏覽:25
cy7c68013通信上位機程序 瀏覽:619
電腦崩盤如何恢復桌面數據 瀏覽:299
桌面文件怎麼用硬碟導出 瀏覽:79
編程爭分奪秒怎麼講 瀏覽:841
zg4分之3的螺紋怎麼編程 瀏覽:150
安卓創建文件夾許可權 瀏覽:292
sql如何查找兩個表中不同的數據 瀏覽:847
編程的課程哪個品牌好 瀏覽:704
晶元編程什麼意思 瀏覽:3
編程怎麼製作手機軟體 瀏覽:285
文件名通常由哪些組成 瀏覽:668

友情鏈接