C++里的cin和cout与指针

我用C语言写个 char *p;scanf("%s",p);printf("%s",p);这样就能输出整个P所指向的字符串来,可是用C++的cin cout 怎么实现呢?

C++ primer plus 5 中93页中间有一句讲到这个问题。声明一个指针,指针中对应的内容为一个地址,地址对应的内存不一定是有效的或者不一定是可用的。所以没有初始化的指针是不能用的;你是想通过向给一个指针赋值是不行的,给他指向的地址赋值又是不合法的。所以这是无法办到的。我调试你的那个代码,无法运行!!要是真的想这样赋值只好这样:char * ptr;ptr = new char; // 这句话将这个指针指向的地址给了一个合法的初始值,所以后面的内容不会报错。cin >> * ptr;cout << *ptr;// 看不懂再问。。很高兴你的分享自己的问题。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-02
一样cout<<p
第2个回答  2013-11-02
#include<iostream>
using namespace std;
void main()
{
char c;
char *p;
p=&c;
cin>>p;
cout<<p<<endl;

}
相似回答