0

read() 関数を使用してユーザー入力を取得しようとしていますが、ドキュメントで見つけることができるのは、ファイルからの読み取りに関するものだけです。これは Linux c 言語です。また、コンソールに何かを表示するために write() を使用したいと考えています。

これがどのように行われるか誰にも分かりますか?

4

2 に答える 2

1

しかし、ドキュメントで見つけることができるのは、ファイルからの読み取りに関するものだけです

標準入力はファイルです。

char buf[128];
read(STDIN_FILENO, buf, sizeof(buf));

また、コンソールに何かを表示するために write() を使用したいと考えています。

繰り返しません。

const char *s = "Hello World!\n";
write(STDOUT_FILENO, s, strlen(s));
于 2013-01-31T21:59:12.377 に答える
0

これは、これを行う方法の印象を与えるはずです (0 は stdin、1 は stdout です)。

#include <unistd.h>
#include <string.h>
int main () {
  char buf[100];
  char *msg="you wrote:";
  while (1) {
    int n;
    n=read (0, buf, sizeof(buf));
    write (1, msg, strlen(msg));
    write (1, buf, n);
  }
}
于 2013-01-31T22:00:09.597 に答える