我是c++新手٩(๑`^´๑)۶。
要输入一个name的字符数组要防止越界。
这个name[20]是类的私有成员,我通过成员函数来输入它。
我在其他地方找到用string类来解决的方法。
但是我在类里面定义是char name[20],函数用getline不行。
但是要在类里面用string来定义name要怎么做?
反正就是要让输入的时候不会越界。。。。
或许其他的解决方法????
求大神指点。
还有如何在构造函数里面给name一个初值。
只会c不太会c++
name输入可以写一个set_name的成员函数,如:
我要的是输入汉字英文都可以的,请问要怎么处理呢?
追答1,使用宽字符wchar_t
2.加一个检测汉字合法性的函数
int hzLen(const char * str, int len) // len为最大长度
{
int i, r=0;
for(i=0; i> tmp;
if(tmp.length() > 19)
{
int len = hzLen(tmp.c_str(), 19);
tmp.resize(len);// 当然如果是汉字 这样截断可能会有问题
}
strcpy(name, tmp.c_str());
}