
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码还有分段什么的?是怎么弄的呀? 展开
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码还有分段什么的?是怎么弄的呀? 展开
2个回答
2014-08-12
展开全部
可能·是版本过低或不兼容。重装或升级
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没用过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的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询