导航:首页 > 文件教程 > 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

友情链接