首页 新闻 会员 周边 捐助

C++ iostream库的cout输出传来的字串指针指向的字串

0
[已关闭问题] 关闭于 2012-09-19 06:49

C++ iostream库的cout输出传来的字串指针指向的字串

比如

void output(LPCSTR lpszString)
{
cout<<lpszString<<endl;
}

int main()
{
char str[] = "Hello World";
output(str);
return 0;
}

这样输出的是指向Hello World的首地址,而不是整个字串,不知道是怎么回事,在网上了一下,大家都说这样输出的是字串,还给出输出指针的方法。。。郁闷,不知道是怎么回事,怎么才能输出字串

我用的是VS2010SP1,项目是UNICODE的

zimmerk的主页 zimmerk | 初学一级 | 园豆:74
提问于:2012-02-03 18:47
< >
分享
所有回答(3)
0

不知道你输出的为什么会是指针的值,从你提供的信息暂且无法推断。你安装VS提示都成功吗?工程设置有什么特殊的地方吗?

希望睿智 | 园豆:215 (菜鸟二级) | 2012-02-24 19:53
0
void output(char* str)
{
cout<< str <<endl;
}
这样试试
Better-zyy | 园豆:205 (菜鸟二级) | 2012-03-03 23:07
2

这样输出的是指向Hello World的首地址,而不是整个字串”,这句话是不成立的,cout是std::ostream的实例,可以追源码看一下,针对不同类型对<<进行了重载,cout<<lpszString<<endl;操作将lpszString指向的字符数组内容插入到流中进行输出,代码没有问题,输出的肯定是Hello World。

zsounder | 园豆:2819 (老鸟四级) | 2012-03-10 02:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册