getc(),getchar(),getch()和getche()之间的区别

Difference between getc(), getchar(), getch() and getche()

所有这些功能都从输入读取字符并返回整数。 EOF的值用于此目的。

getc()

它从输入中读取单个字符并返回一个整数值。如果失败,则返回EOF。

这是用C语言编写的getc()的语法,

1
int getc(FILE *stream);

这是C语言中的getc()的示例,

现场演示

1
2
3
4
5
6
7
8
9
10
#include<stdio.h>
int main () {
   char val;
   printf("Enter the character:
");
   val = getc(stdin);
   printf("Character entered:");
   putc(val, stdout);
   return(0);
}

输出量

1
2
Enter the character: a
Character entered: a

getchar()

函数getchar()从标准输入中读取字符,而getc()从输入流中读取字符。因此,getchar()等效于getc(stdin)。

这是C语言中的getchar()的语法,

1
int getchar(void);

这是C语言中的getchar()的示例,

现场演示

1
2
3
4
5
6
7
8
9
#include <stdio.h>
int main()  {
   char val;
   val = getchar();
   printf("Enter the character :
");
   printf("Entered character : %c", val);
   return 0;
}

输出量

1
2
Enter the character : n
Entered character : n

getch()

函数getch()是非标准函数。在" conio.h"头文件中声明。通常,它由Turbo C使用。它不是C标准库的一部分。它立即返回输入的字符,而无需等待回车键。

这是用C语言编写的getch()的语法,

1
int getch();

这是C语言中的getch()的示例,

1
2
3
4
5
6
7
8
9
#include <stdio.h>
#include<conio.h>
int main()  {
   char val;
   val = getch();
   printf("Enter the character :");
   printf("Entered character : %c", val);
   return 0;
}

输出量

1
2
Enter the character : m
Entered character : m

getche()

与getch()一样,getche()函数也是一个非标准函数,并在" conio.h"头文件中声明。它从键盘读取单个字符,并立即返回它,而无需等待回车键。

这是C语言中的getche()的语法,

1
int getche(void);

这是C语言中的getche()的示例,

1
2
3
4
5
6
7
8
9
#include <stdio.h>
#include<conio.h>
int main() {
   char val;
   val = getche();
   printf("Enter the character :");
   printf("Entered character : %c", val);
   return 0;
}

输出量

1
Enter the character : s Entered character : s