Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c++;将字符串参数指定给字符串_C++_String_Char_Assign - Fatal编程技术网

C++ c++;将字符串参数指定给字符串

C++ c++;将字符串参数指定给字符串,c++,string,char,assign,C++,String,Char,Assign,我正在尝试做一个功能,可以改变我的帐户的pin码,但有困难找到正确的方式分配新的 class Account; class Account{ public: int accountNumber; char pin[5]; double balance; void printInfo(); void changeBalance(int n, char * p, double b); void changePin(int n, char * p,

我正在尝试做一个功能,可以改变我的帐户的pin码,但有困难找到正确的方式分配新的

class Account;
class Account{

public:

    int accountNumber;
    char pin[5];
    double balance;
    void printInfo();
    void changeBalance(int n, char * p, double b);
    void changePin(int n, char * p, char * newPin);
};

void Account::changePin(int n, char * p, char * newPin)
{
    if((n == accountNumber) && (strcmp(p, pin) == 0))
    {
        //pin = newPin; //ERROR HERE
    }
}
我是不是应该不使用等号或使用某个函数/指针来分配新的pin?
我对C++是相当新的,所以我仍然在试图弄清楚如何正确地声明/赋值。

< P>你应该复制点的内容,尝试<代码> StrucPy(PIN,NeNPin)< /Calp>< /P> < P >不要介意这个类,问题是如何给数组赋值。 可以一次复制一个数组中的一个元素:

for(unsigned int k=0; k<5; ++k)
  pin[k] = newPin[k];
或者,当你厌倦了到处乱搞
char[]
时,你可以查看
std::string

试试这个:

if(p!=NULL)
{
strcpy(this.pin,p);
}

提示:使用StrcPy或StrncPyARE,您不使用C++ STD::String类,原因有特殊吗?strncpy在这里更安全!
if(p!=NULL)
{
strcpy(this.pin,p);
}