导航:首页 > 文件教程 > 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写二进制文件相关的资料

热点内容
win8无线网络连接2 浏览:341
coreldraw12抠图教程 浏览:733
lnmp部署后nginx配置文件位置 浏览:907
修改sql数据库路径 浏览:248
bibi网站有哪些好看的动漫 浏览:496
linux查看依赖关系 浏览:475
数据库系统的组成要素 浏览:368
大数据文案工作一个闫多少钱 浏览:847
如何下载友邦app 浏览:19
win10系统加载的时间很慢 浏览:991
ug配置文件放在哪 浏览:235
福昕阅读器怎么取消双击关闭文件 浏览:227
f663n光猫超级密码配置文件 浏览:610
系统与编程有什么区别 浏览:550
军队计算机网络安全评估方法 浏览:252
编程时如何将文字资料封装 浏览:985
ipad2升级ios1032 浏览:469
win10文件健康颜色 浏览:581
nodejs视频网站 浏览:747
ssleay32dll版本 浏览:144

友情链接