问答详情
源自:4-6 招聘员工和开除员工:构造函数和析构函数

为什么输出name需要这样name.c_str()

Staff::Staff(std::string _name, int _age)

{

    name = _name;

    age = _age;

    printf("%s,%d\n",name.c_str(),age);

}


提问者:慕婉清3205620 2021-08-16 17:44

个回答

  • 慕村4409206
    2024-09-09 14:59:04

    c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同,c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string对象转换成c中的字符串样式

  • qq_精慕门9436011
    2021-10-18 00:03:57

    string字符窜比较特殊,需要函数转出