如何在C程序中的char数组中分配输入(来自echo命令)

时间:2016-10-16 19:04:46

标签: c

如何在C程序中为char数组分配echo的输入? 例如:

$ echo "Hello, world!" | ./hello

我需要保存字符串" Hello,world"到阵列。

1 个答案:

答案 0 :(得分:1)

echo的输出pipedhello的输入。要在C中将字符串作为输入,请使用fgetshttp://www.cplusplus.com/reference/cstdio/fgets/。以下是一些示例代码:

的hello.c:

#include <stdio.h>
#include <string.h>

int main() {
  char inputarr[256];
  fgets(inputarr, 256, stdin);

  //Credit to Tim Čas for the following code to remove the trailing newline
  inputarr[strcspn(inputarr, "\n")] = 0;

  printf("Value of inputarr: \"%s\"\n", inputarr);
}

Here是蒂姆关于他的代码的帖子

Shell命令:

$ gcc hello.c
$ echo "Hello, world!" | ./a.out
Value of inputarr: "Hello, world!"
$