请C++高手们帮忙解答一下: 请看以下程序哪里错了,在VC++中编译无错,运行就是有错误! 谢谢!

2024-11-28 13:50:03
推荐回答(6个)
回答1:

s是一个指针,需要指向一个分配的内存,才能写

回答2:

晕,一个指针 呀。

回答3:

没有为char new一个空间。
现在一般最好不要用char,用string代替。char需要你来new空间,以及用完后delete空间。string就不需要,它会自动完成,所以如果没事么特殊需求,最好用string,简单方便。

回答4:

*s 改成 s[]

回答5:

程序修改如下:

int main()

{

  char *s = new char[11];

  cout<<"请输入一个字符串:";

  cin.getline(s,10);

  cout<<"输入的字符串为:";

  cout.write(s,strlen(s));     //此句改为cout<

  cout<

  delete s;

}

有图有真相:

回答6:

cout<不能直接输出vector的变量,没有相应的重载。如果要的话,得自己写重载。
可以用循环输出
for(vector::size_type i=0;i!=str.size();++i)
cout<