0

オペレーティングシステムのLinuxカーネルで変更されたgetchar関数を使用して、端末から指定された文字列から文字を取得してから出力しようとしていますが、それを呼び出すたびに、基本的に空の文字列を返すようです。

カーネル レベルのスペース:

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;
}

誰が何が悪いのか知っていますか?

ありがとう。

4

0 に答える 0