关于C++中string类型的输出问题

string.h:
C语言里面关于字符数组的函数定义的头文件,常用函数有strlen、strcmp、strcpy等。这个头文件跟C++的string类没有任何关系,所以 <string>并非 <string.h>的升级版,他们是毫无关系的两个头文件。

string:
string类既是一个标准c++的类库,同时也是STL中的类库,已经纳入C++标准之中。而其中有与string所匹配的“<<”运算符,所以如果没有这个头文件你会发现无法输出一个string类型。

所以:

当你没有使用string的头文件时:
如果要使用puts来输出string类型的话需要这样做:printf("%s",string_name.c_str());
如果要使用cout来输出string类型的话需要这样做:cout<<string_name.c_str();
如果要使用puts来输出string类型的话需要这样做:puts(string_name.c_str());

当你有使用string的头文件时:
如果要使用cout来输出string类型的话需要这样做:cout<<string_name;

Last modification:December 8th, 2017 at 11:31 am

Leave a Comment