用函数int bioskey(int cmd) 头文件 bios.h
cmd=0 返回一个键盘值,如无键盘按下,一直等待。 cmd=1 查询键盘是否按下 0-无键按下,非0-有键按下
cmd=2 返回控制键状态,返回值保存在低8位中
比如key=bioskey(1);取键盘扫描码
至于扫描码可以网上搜索。希望对你有帮助
fgetc从文件读一个字符 ,回车符是'\n'例如,从test.txt读一行
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE * fp
char * name = "test.txt"
char c
if( (fp=fopen(name,"rb")) == NULL )
{
printf("Can not open %s!\n",name)
exit(1)
}
c = fgetc(fp)
while( (!feof(fp)) &&(c != '\n') )
{
printf("%c",c)
c = fgetc(fp)
}
fclose(fp)
return 0
}
常用的方法有两种:
1、通过getchar循环读入每个字符,存到数组中,直到遇到换行符,结束循环并赋值结束符。
参考代码:
char s[100]int i
i = 0
while((s[i]=getchar())!='\n') //循环读入,并赋值到数组中,直到遇到回车。
i++
s[i+1]='\0'//赋值结束符。
2、通过gets或者fgets函数读入一行。
不过通过gets函数获取的虽然是一行输入,但是结尾的\n会被替换为结束符\0,所以如果要在字符串中存在换行符,那么需要手动增加。
参考代码:
char s[100]int len
gets(s)//读入整行。
len = strlen(s)//获取读入字符串长度。
s[len] = '\n'//结尾增加换行符。
s[len+1] = '\0'//赋值新的结束符。
注意使用到strlen,程序需要包含头文件string.h。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)