C语⾔中如何使⽤printf输出string类型字符串
知识点:
1.printf函数输出字符串是针对char *的,即printf只能输出c语⾔的内置数据类型,⽽string不是c语⾔的内置数据类型。
2.string类型的对象不⽌包含字符串,还包含了许多⽤于操作的函数,所以&str并⾮字符串的⾸地址。
3.如需输出string对象中的字符串,可以使⽤string的成员函数c_str(),该函数返回字符串的⾸字符的地址。
错误⽰例:
#include<stdio.h>
#include<string.h>
int main(){
string str="hello";
printf("%s",str);
return 0;
}
编译报错:
[Error] cannot pass objects of non-trivially-copyable type 'std::string {aka class std::basic_string<char>}' through '...'正确⽰例:
#include<stdio.h>
#include<string.h>
int main(){
string str="hello";
printf("%s",str.c_str()); // 调⽤c_str()函数
return 0;
c++string类型
}
运⾏结果:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论