📄 input5.c
字号:
#include <stdio.h>
#include <conio.h>
#define CR 0x0d //carriage return
#define ESC 0x1b //Escape key
#define TAB 0x09
#define LF 0x0a //Line feed
#define BACKSPACE 0x08
#define NULL 0 //Empty character
#define TRUE 1
#define FALSE 0
#define LENGTH 15 //size of the string
int input(char *string,int length);
void main()
{
char string[LENGTH];
printf("What is your name?");
if(!input(string,LENGTH))
printf("Darn glad to meet you, %s!\n",string);
else
printf("\n*** Cancelled");
}
int input(char *string, int length)
{
int done = FALSE;
int cancel = TRUE;
int index = 0;
char ch;
string[0] = NULL; // init the buffer
do
{
ch = getch();
/* Check to see if the buffer is full */
if (index == length)
{
switch(ch)
{
case CR:
break;
default:
ch = NULL;
break;
}
}
/* process the keyboard input */
switch(ch)
{
case ESC:
done = TRUE;
cancel = TRUE;
break;
case CR: //Enter key
putchar(ch);
putchar(LF);
string[index] = NULL;
done = TRUE;
break;
case BACKSPACE:
if(index==0)
{
break;
}
else
{
putchar(ch);
putchar(' ');
putchar(ch);
index--;
break;
}
case NULL:
break;
default: //display & sto
putchar(ch);
string[index] = ch;
index++;
break;
}
}
while(!done);
return(cancel);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -