C++ API 函数程序显示ReadFile读到的数据是乱的?怎么用cout输出正确的读到的数据?

charbuffer[1024]={0};DWORDreadsize=0;BOOLbReadStatus;while(1){memset(&buffer,0,sizeof... char buffer[1024]={0};
DWORD readsize = 0;
BOOL bReadStatus;

while(1)
{
memset(&buffer, 0 , sizeof(buffer));
bReadStatus = ReadFile(hCom, buffer, sizeof(buffer), &readsize, 0);

if(bReadStatus)
if(readsize>0)
{
readsize = 0;
DWORD i=0;
while(buffer[i]!=0)
{
cout<<buffer[i];
i++;
}
}
}
听说输出要用到ascll码还有分段什么的?是怎么弄的呀?
展开
 我来答
匿名用户
2014-08-12
展开全部
可能·是版本过低或不兼容。重装或升级
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飞扬天遥
2014-08-12 · TA获得超过266个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:201万
展开全部
没用过Readfile这个函数,难道是MFC里面的?我猜原因是编码不同吧,以Unicode方式读取ASCII二进制文件了吧,直接用C++的文件流读不也挺好么
追问
API函数。。。我刚学这个,不懂什么是Unicode方式,什么是C++文件流?
追答

c++标准库里没这个函数啊,你说的是MFC里的函数吧,我说的C++文件流是用fstream,ifstream infile;这种方式只能打开二进制文件。

#include<fstream>

ifstream infile;
string str;
infile.open("111.txt");
infile>>str;
cout<<str<<endl;
infile.close;

Unicode是宽字节,你百度搜搜就知道了,MFC下默认应该就是Unicode的。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式