getch()函数实现cin的效果


getch()函数介绍

众所周知,getch()函数是用来无回显读入单个字符的,必须要用到传说中的conio.h。
这次,本博主给大家带来的是用这个函数读入字符串。


思路

主要是考虑判断按下enter(ascii码:13)和backspace(ascii码:8)两个键后的状态,注意按了退格键后又将原字符清空,按了回车键后要输出换行。
接着,我们不能将函数的形参设成string型,这样必须用指针,可能有点麻烦(本博主不善长指针),所以尽量设成char型的数组,这样,这个函数就并不难写了。
还要注意字符串已经没有了再按退格键要屏蔽退格键。


代码

以下是参考代码:

void strin(char a[]) {
	int len=0;
	while(1) {
		char ss=getch();
		if(ss==8) {
			if(len!=0)
			{
				printf("\b \b");
				len--;
				a[len]=0;
			}
		}
		if(ss==13) {
			printf("\n");
			return ;
		}
		if(ss!=8&&ss!=13) {
			printf("%c",ss);
			a[len++]=ss;
		}
	}
}

注:代码仅供参考


原创文章 75 获赞 126 访问量 1万+

猜你喜欢

转载自blog.csdn.net/liuzich/article/details/104126496
cin
今日推荐