我正在尝试getchar
在操作系统的 linux 内核上使用修改后的函数,从终端给出的字符串中获取字符,然后打印它,但每隔一次我调用它,它似乎基本上返回一个空字符串。
内核级空间:
int sys_readchar(userptr_t chptr, it *retval) {
char ch;
int result;
ch = getch();
copyout(&ch, chptr, sizeof(ch));
*retval=1;
return 0;
}
用户级别:
int getchar(void) {
char ch;
int len;
len = readchar(&ch);
return (int)(unsigned char)ch;
}
有谁知道出了什么问题?
谢谢。