www.5129.net > C++关于string输出问题.

C++关于string输出问题.

string是C++的类,printf是C语言的函数,C++的东西不能直接用在C语言的上面。。。。。 C++的字符串分两种:一种是string,另一种是char *。第一种是C++特有的字符串类。第二种是来自于C语言的字符串, printf的%s格式符只能用于C语言的字符串。

main(){ string s; for(int i=0;i

string s="hello"; printf("content= %s",s.c_str() );

可以的 需要#include #include using namespace std;

可以的 #include using namespace std;int main(){ string s; cin>>s; cout

string是对象,不是数组。不能那样索引。 #include #include using namespace std;int main(){ string str1,str2; int n; while(cin>>str1){ cin>>n; str2=str1.substr(0,n); cout

使用printf输出string类型时候出现错误:warning: cannot pass objects of non-POD type 'struct std::string' through '...'; call will abort at runtime. printf只能输出C语言内置的数据,而string不是内置的,只是一个扩展的类,这样肯定是...

scanf 要求的是字符指针。 string也可以可以通过c_str()函数返回内部的字符指针来使用了,只是不推荐那么用。 像下面这样写应该也可以工作,不过就 是没那么好看了 string s; s.resize(10); scanf("%s", (char *) s.c_str()); printf("%s\n",s...

不能把某位改成\0,因为string类的原理和字符串不完全一样。 不过可以这样: 想要丢弃s1第n个字符以后的内容,可以这样: s1.resize( n , 0 );//0那里爱填什么填什么

string并不是c++的基本数据类型。它是标准库里声明的一个字符串类。 所以楼主的答案是:可以。 string str[10]; //定义一个字符串数组str 显示的是 i love you 还可以这样定义字符串数组: string name[5]={"zhangli","li","fun","wang",tan"}; ...

网站地图

All rights reserved Powered by www.5129.net

copyright ©right 2010-2021。
www.5129.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com