分配数组数据成员的字符

时间:2019-05-31 21:20:45

标签: visual-c++

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

我尝试使用此

   void setName(char a[]) {
      strcpy(name, a);
   }

但是它给我一个错误

strcpy不安全...

1 个答案:

答案 0 :(得分:1)

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

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

相反,请使用C ++已经拥有的字符串!

void setName(char a[]) {
        std::string a_str = a;
        name = a_str;
}

注意:不要忘记将名称定义如下:

std::string name;