C++ iostream库的cout输出传来的字串指针指向的字串
比如
void output(LPCSTR lpszString)
{
cout<<lpszString<<endl;
}
int main()
{
char str[] = "Hello World";
output(str);
return 0;
}
这样输出的是指向Hello World的首地址,而不是整个字串,不知道是怎么回事,在网上了一下,大家都说这样输出的是字串,还给出输出指针的方法。。。郁闷,不知道是怎么回事,怎么才能输出字串
我用的是VS2010SP1,项目是UNICODE的
不知道你输出的为什么会是指针的值,从你提供的信息暂且无法推断。你安装VS提示都成功吗?工程设置有什么特殊的地方吗?
void output(char* str)
{
cout<< str <<endl;
}
这样试试
“这样输出的是指向Hello World的首地址,而不是整个字串”,这句话是不成立的,cout是std::ostream的实例,可以追源码看一下,针对不同类型对<<进行了重载,cout<<lpszString<<endl;操作将lpszString指向的字符数组内容插入到流中进行输出,代码没有问题,输出的肯定是Hello World。