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

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

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

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

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

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

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

因为 string 是 std命名空间下的,就和cout 一样.. 所以 修改的方法有两个.. 1 加 命名空间 限定 std::string name; 2 使用 using using std::string;

string str;getline(cin,str);getline函数是遇回车符结束输入,而一般的CIN是遇到空格之类的就结束输入

网站地图

All rights reserved Powered by www.5129.net

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