CFile 创建 二进制文件的问题

freyam 2007-10-19 09:59:07
const char sz[] = "D://2.txt";
CFileException e;
if( !(Data_File.Open(sz , CFile::typeBinary|CFile::modeReadWrite, &e )))
{
if (e.m_cause == CFileException::fileNotFound)
{
MessageBox("文件不存在");
Data_File.Open( sz , CFile::typeBinary|CFile::modeCreate|CFile::modeReadWrite);
}
else
{
MessageBox("无效文件");
}
}
else
{
char Temp[1000];
memset(Temp,0,1000);
sprintf(Temp,"dsfsadf66666666");
Data_File.Write(Temp,strlen(Temp));
}


我先判断文件存不存在,不存在就创建,一个二进制的文件

为什么我创建的文件可以用 文件文本打开,可以看到内容那,我创建的是二进制的文件,
应该看到乱码才对呀,这是什么原因?
...全文
105 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zaodt 2007-10-20
  • 打赏
  • 举报
回复
我上面只是针对 非UNICODE 中的英文,不包括中文。

在非 UNICODE 下,中文如何表示:

1、两个字节拼起来组成一个汉字;

2、这两个字节的ASCII码都在 128~255 之间。
zaodt 2007-10-20
  • 打赏
  • 举报
回复
其实文件都是二进制的。

所谓的文本文件只是它里边的内容大部分为可显示ASCII码。

关于ASCII码,查相关资料。
凤矶 2007-10-20
  • 打赏
  • 举报
回复
你并没有写入超出ACSII编码范围的东西进去,当然这些都可以以文本方式正确显示
phiger 2007-10-19
  • 打赏
  • 举报
回复
那你写的内容就是acsii码,难道还不允许人看到,就像即使你是.exe文件,你用notepad打开也能看到里面的字符串一样

1,660

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧