下面的代码实现了输入的字符个数不能超过六个,六个字符够了以后就强制停止输入
#include <iostream>
#include <conio.h>
using namespace std;
int main(void)
{
string ch="";
char m;
for(int i=0;i<6;i++){//限制只能使用6个字符
//cout<<" i的值为"<<i<<endl;
m=getch();//getch直接获取输入内容不回显,所以下面搞个字符来回显
cout<<m;
if(m==8){//backspace的ascii为8
if((ch[ch.size()-1]&0x80)&&(ch[ch.size()-2]&0x80)){//判断最后两个字符是否代表汉字
i-=3;//这里可以好好想一想
cout<<"\b \b\b"; //\b只代表退一格
ch=ch.substr(0,ch.size()-2);
//cout<<"有汉字"<<"当前大小为"<<ch.size()<<endl;
continue;
}
else{
i-=2;//这里可以好好想一想
cout<<" \b";
//cout<<"当前i为"<<i<<endl;
ch=ch.substr(0,ch.size()-1);
continue;
}
}
//cout<<m;
ch+=m;
}
cout<<endl;
cout<<ch<&