自定义输入函数 - C语言编程
代码如下:
#include <stdio.h>
#include <conio.h>
void input(char *content);
int main()
{
char ch[]="0";// 习惯字符串初赋值为"0"
printf("Please input: ");
input(ch);// 调用输入函数
printf("The content : %s",ch);// 输出内容
getch();
return 0;
}
void input(char *content)
{
int keyNum=0;
char key=‘\b‘;// 初赋值‘\b‘首次循环才不会执行第一个if
while(key!=13)// 13为回车的ASCII,使用‘\n‘在Windows上有异常
{
if(key!=‘\b‘)// 这里可以设置输入范围
{
putchar(key);
content[keyNum++]=key;// 很好地运用了a++和++a各自的特点(a++先赋值再++,++a先++再赋值)
}else if(key==‘\b‘&&keyNum>0)
{
putchar(‘\b‘);
putchar(‘ ‘);
putchar(‘\b‘);
keyNum--;
}
content[keyNum]=0;// 0相当于字符串里‘\0‘,代表字符串的结尾;后置以赋予正确的结尾位置
key=getch();// getch后置,解决首次输入回车会被content获取的问题
}
printf("\n");// 回车结束输入并换行
} 相关推荐
penkgao 2020-10-13
penkgao 2020-06-25
lsfreeing 2020-06-20
Biao 2020-06-17
yunfeitian 2020-06-13
AaronPlay 2020-06-13
拉斯厄尔高福 2020-11-04
嵌入式资讯精选 2020-10-15
zhaochen00 2020-10-13
wanshiyingg 2020-09-29
Mars的自语 2020-09-27
shenwenjie 2020-09-24
一个逗逗 2020-09-22
flycony 2020-09-13
zhaochen00 2020-08-20