Visual c++ 分配数组数据成员的字符

Visual c++ 分配数组数据成员的字符,visual-c++,Visual C++,在类中分配数组数据成员字符的最佳方法是什么 我试过用这个 void setName(char a[]) { strcpy(name, a); } 但这给了我一个错误的答案 strcpy不安全…,因为这可能会导致缓冲区溢出 一种解决方案可能是避免strcpy() 使用C++已经拥有的字符串!p> void setName(char a[]) { std::string a_str = a; name = a_str; } 注意:不要忘记定

在类中分配数组数据成员字符的最佳方法是什么

我试过用这个

   void setName(char a[]) {
      strcpy(name, a);
   }
但这给了我一个错误的答案


strcpy不安全…

,因为这可能会导致缓冲区溢出

一种解决方案可能是避免
strcpy()

使用C++已经拥有的字符串!p>

void setName(char a[]) {
        std::string a_str = a;
        name = a_str;
}
注意:不要忘记定义名称,如下所示:

std::string name;

但是如果角色上有一个空白怎么办?比如说“纽约”,我怎样才能复制整个字符串,包括空格?没关系,从字符数组到字符串的分配也包括空格!给它一个机会,现在就试试:)非常感谢你们,我一定会试试:)我相信它可以工作,只是从类中获取字符串名称有困难。我刚刚创建了一个getter字符串getName{return name},但当我尝试使用它时,会出现一个错误“字符串的间接寻址级别与char[100]不同”将所有内容定义为std::string,也就是char[100]