首页 > 解决方案 > Assigning characters of array data members

问题描述

What is the best way to assign a char of array data member in class?

i tried using this

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

but it gives me an error of

strcpy is unsafe...

标签: visual-c++

解决方案


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

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

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

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

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

std::string name;

推荐阅读