代码如下:char buf[100];
DWORD dwRead;
if(ReadFile(hPipe,buf,100,&dwRead,NULL))
{
MessageBox(buf[1]);
// MessageBox(buf);
}
else
{
MessageBox("读取数据失败!");
return; }
现在MessageBox(buf);是没问题的,可读到相应的值。可是当我用MessageBox(buf[1]),我想显示buf[1]的值时候编译器就会报这样的错误
error C2664: 'MessageBoxA' : cannot convert parameter 1 from 'char' to 'const char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
请问大仙如果解决 非常感谢!!!
DWORD dwRead;
if(ReadFile(hPipe,buf,100,&dwRead,NULL))
{
MessageBox(buf[1]);
// MessageBox(buf);
}
else
{
MessageBox("读取数据失败!");
return; }
现在MessageBox(buf);是没问题的,可读到相应的值。可是当我用MessageBox(buf[1]),我想显示buf[1]的值时候编译器就会报这样的错误
error C2664: 'MessageBoxA' : cannot convert parameter 1 from 'char' to 'const char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
请问大仙如果解决 非常感谢!!!
解决方案 »
- 求大神~~VC++\MFC:MFC读取Excel文档,具体看下面吧
- 函数替换问题。!!!!!积极积极积极
- dll中使用命名空间,就不能生成.lib,高手来解决啊,在线等,立即给分!!
- 如何在Multiple的ListBox中删除选中的多个项目?有没有简捷的办法?
- 如何显示特殊符号?
- 关于界面如何传递参数的问题?
- 请问怎么才能得到一个控件在对话框上的位置呢?谢谢!
- 需要学习C++BUILDER吗
- 我有一道题编程想请教各位!
- 搞VC对于一个没动手作过项目的来讲周围环境重要吗,假设就你一人来做。劳驾大家帮我出出注意,这可决定我去留问题
- 如何写一个输入拼音显示汉字的程序 基于WINCE
- MFC多文档,如何发送消息使某一个视图最小化,或者还原,求大侠知道,在线等
CString strTmp(buf[1]);
MessageBox(strTmp);
你要想显示可以用4楼的方法
MessageBox(strTmp);
发现确实能接收到buf[1],但是接收到的值是乱码(比如我在客户端发送的是char buf[0]=1,但是在接收的时候发现接收到的buf[0]不是等于1,而是乱码])。请问下是为什么 如何解决。非常感谢!!!
CString strTmp(buf[1]);
MessageBox(strTmp);
发现确实能接收buf[1],但接收到的是乱码(比如我发送char buf[0]=1,接收是发现buf[0]是乱码),请问下为什么,如何解决这个问题,非常感谢!!!
strTmp.Format(_T("%c"),buf[1]);
MessageBox(strTmp);
csdn没有高人了吗
我不是什么高人
只是希望能够和大家共同探讨共同学习
但是鉴于你问题开始就没问清楚
而且可能你自己也没意识到
所以我再试试看能不能和你交流一下首先
并不是用char的变量就一定是字符串
能够显示出来的可读字符串是符合一定的码编码要求的
其他值都是乱码
你题目给你的感觉就是buf存的就是字符串
而且是单字节的
所以buf[1]才是有意义的
4楼的方法针对这种前提是可行的
可是你要是说char buf[0]=1
这个用四楼的方法不可能看到1
因为ASCII码里1不是可见字符
所以肯定的乱码
如果你想看到的是1那就用
CString strTmp;
strTmp.Format(_T("%d"),buf[1]);
总之一切取决于你的需求
这和手高手低没关系