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

熱點內容
ps入門必備文件 瀏覽:348
以前的相親網站怎麼沒有了 瀏覽:15
蘋果6耳機聽歌有滋滋聲 瀏覽:768
怎麼徹底刪除linux文件 瀏覽:379
編程中字體的顏色是什麼意思 瀏覽:534
網站關鍵詞多少個字元 瀏覽:917
匯川am系列用什麼編程 瀏覽:41
筆記本win10我的電腦在哪裡打開攝像頭 瀏覽:827
醫院單位基本工資去哪個app查詢 瀏覽:18
css源碼應該用什麼文件 瀏覽:915
編程ts是什麼意思呢 瀏覽:509
c盤cad佔用空間的文件 瀏覽:89
不銹鋼大小頭模具如何編程 瀏覽:972
什麼格式的配置文件比較主流 瀏覽:984
增加目錄word 瀏覽:5
提取不相鄰兩列數據如何做圖表 瀏覽:45
r9s支持的網路制式 瀏覽:633
什麼是提交事務的編程 瀏覽:237
win10打字卡住 瀏覽:774
linux普通用戶關機 瀏覽:114

友情鏈接