printf、scanf 与 string
1、printf 输出 string 类字符串
printf 函数输出字符串是针对 char* 的,即 printf 只能输出 c 语言的内置数据类型,而 string 不是 c 语言的内置数据类型
输出 string 对象中的字符串,可以使用 string 的成员函数 c_str() ,该函数返回字符串的首字符的地址
不需要引用其它头文件
#include<iostream>
using namespace std;
string s;
int main()
{
string a = " yxc yyds! ";
printf("%s",a.c_str());
return 0;
}
2、scanf 输入 string 类字符串
无法像直接输入整数那样方便的使用 scanf()函数输入 string变量。因为string并非是C的原生类型。但是是可以做到让scanf输入string类型的数据。
不建议使用 scanf 输入string类型字符串。
正确使用方式;
#include<iostream>
using namespace std;
int main()
{
string a;
a.resize(50); //需要预先分配空间
scanf("%s", &a[0]);
cout << a;
return 0;
}