string 的格式化输出是什么
#include <bits/stdc++.h>using namespace std;
struct stu{
string name;
int age;
};
int main(){
stu s = {{"wwww", 90}, {"dddd", 45}};
stu *p = s;
printf("%s", p.name);
}
如上图 , 它不输出 , 感觉是%s有问题 , 所以应该怎么输出
( 别跟我讲 cout , 谢谢 ) #include <bits/stdc++.h>
using namespace std;
struct stu {
string name;
int age;
};
int main() {
stu s = {{"wwww", 90}, {"dddd", 45}};
stu *p = s;
printf("%s\n", p.name.c_str());
return 0;
}
name.c_str() 人造人 发表于 2022-4-1 22:57
额 , 那c_str()这个函数就是可以把 string 转换为 char[...]嘛 傻眼貓咪 发表于 2022-4-1 23:11
name.c_str()
所以c_str()就可以把 string 转换为 char 嘛
柿子饼同学 发表于 2022-4-2 09:30
所以c_str()就可以把 string 转换为 char 嘛
虽说成转换也是没有错,但 c_str() 是string 的类成员,其返回和 string 一样的字符串,但是以 char 格式返回。 柿子饼同学 发表于 2022-4-2 09:30
所以c_str()就可以把 string 转换为 char 嘛
在 C++ 里,我个人是非常喜欢用 string 多于 char,因为很多方法又方便,完全如同 Python 的 str() 一样多功能,至于 C 的 char 绑手绑脚,很多功能都必须借助头文件解决(比如:string.h),麻烦死了。 傻眼貓咪 发表于 2022-4-2 10:08
在 C++ 里,我个人是非常喜欢用 string 多于 char,因为很多方法又方便,完全如同 Python 的 str() 一样 ...
哈哈哈 , stl就是好用啊
谢谢回答{:10_254:}
页:
[1]