C++ c++;将字符串参数指定给字符串
我正在尝试做一个功能,可以改变我的帐户的pin码,但有困难找到正确的方式分配新的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,
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);
}