1. Ingrese e identifique arriba, abajo, izquierda y derecha en el teclado
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//分配内存的大小
#define SIZE 10
//定义按键们的宏
#define ESC "\033"
#define UP "\033[A"
#define DOWN "\033[B"
#define LEFT "\033[D"
#define RIGHT "\033[C"
int main()
{
char *get = (char*)malloc(SIZE);
for ( ; ; )
{
fgets(get, SIZE, stdin);
/* 用fgets()函数从stdin中读取字符串时,会自动在字符串末尾追加"\n",这里将末尾字符改为"\0" */
get[strlen(get) - 1] = '\0';
if (!strcmp(get, ESC))
printf("This is \"ESC\" button!\n");
if (!strcmp(get, UP))
printf("This is \"UP\" button!\n");
if (!strcmp(get, DOWN))
printf("This is \"DOWN\" button!\n");
if (!strcmp(get, LEFT))
printf("This is \"LEFT\" button!\n");
if (!strcmp(get, RIGHT))
printf("This is \"RIGHT\" button!\n");
}
return 0;
}
Resultado de la operación: cada vez que presiona una tecla de flecha, debe presionar Enter nuevamente (se usa para actualizar la caché).
kshine@kshine-virtual-machine:~/桌面/GCC$ gcc udlr1.c -o main -Wall
kshine@kshine-virtual-machine:~/桌面/GCC$ ./main
^[[A
This is "UP" button!
^[[D
This is "LEFT" button!
^[[B
This is "DOWN" button!
^[[C
This is "RIGHT" button!
2. Para el código de prueba anterior, podemos introducir system ("stty -icanon"); como se muestra en el siguiente código
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ch;
system("stty -icanon");//关闭缓冲区,输入字符无需回车直接接受
ch = getchar();
if(ch == 'a')
printf("OK\n");
return 0;
}
3. printf (), resaltar
#include"stdio.h"
int main()
{
printf("\033[40;39m 底色40黑色,字色39无无 \033[0m\n");//\033[;m …… \033[0m
printf("\033[41;38m 底色41深红,字色38无无 \033[0m\n");//\033[;m …… \033[0m
printf("\033[42;37m 底色42绿色,字色37白色 \033[0m\n");//\033[;m …… \033[0m
printf("\033[43;36m 底色43黄色,字色36深绿 \033[0m\n");//\033[;m …… \033[0m
printf("\033[44;35m 底色44蓝色,字色35紫色 \033[0m\n");//\033[;m …… \033[0m
printf("\033[45;34m 底色45紫色,字色34蓝色 \033[0m\n");//\033[;m …… \033[0m
printf("\033[46;33m 底色46深绿,字色33黄色 \033[0m\n");//\033[;m …… \033[0m
printf("\033[47;32m 底色47白色,字色32绿色 \033[0m\n");//\033[;m …… \033[0m
printf("\033[48;31m 底色48无无,字色31红色 \033[0m\n");//\033[;m …… \033[0m
printf("\033[49;30m 底色49无无,字色30黑色 \033[0m\n");//\033[;m …… \033[0m
return 0;
}
4. Realice strcmp + parámetros formales de solo lectura
5. Implementar la función de aserción strcpy +
6. Implementar strlen
7. Constantes de puntero y punteros constantes
8. La prioridad de los punteros y los símbolos autoadministrados
9. Funciones especiales
9.1 Generar números aleatorios
9.2 Genere un código de verificación aleatorio e ingréselo para verificación
9.3 Hora actual del sistema de salida
10. Definición y uso de punteros de función y matrices de punteros de función
10.1 Definición y uso de puntero de función
10.2 Definición y uso de la matriz de punteros de función
11. Tipo burbujeante de matrices de enteros