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

C++关于string输出问题.

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

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

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

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

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

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

你用的编译工具是VC++6.0吧 这是个bug 不过微软已经解决了修复了这个bug 解决办法是 进入到VC++6.0的安装目录Microsoft Visual Studio\VC98\Include,找到名为string的文件,注意不是string.h,然后找到下面这段代码: elseif (_Tr::eq((_E)_C,_...

你要先输入啊,因为写了一行cin>>s

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

理解string *pstrArr1 = new string[2];首先搞懂new的意义,它是在内存中分配一个动态空间,把分配空间的地址返回给指针pstrArr1,分配空间的大小由string[2]决定,string[2]代表一个数组,数组的每个元素类型为string,即数组元素是字符串

网站地图

All rights reserved Powered by www.5129.net

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