项目需要从控制台输入16进制数发送给下位机。
使用getline()时碰到的小问题,记录一下。
getline()函数跳过执行,因为键盘输入时,是先输入到输入缓冲区的,回车结束后,系统只把回车前的数据给出去,而回车还在缓冲区里。下一次执行getline()的时候就会首先获取回车符。
解决:
在执行getline()之前先cin.get()把之前留下的回车读取走。
string strdata;
cin.get();
getline(cin,strdata);
这样就正常了。
项目需要从控制台输入16进制数发送给下位机。
使用getline()时碰到的小问题,记录一下。
getline()函数跳过执行,因为键盘输入时,是先输入到输入缓冲区的,回车结束后,系统只把回车前的数据给出去,而回车还在缓冲区里。下一次执行getline()的时候就会首先获取回车符。
解决:
在执行getline()之前先cin.get()把之前留下的回车读取走。
string strdata;
cin.get();
getline(cin,strdata);
这样就正常了。