如何在C程序中为char数组分配echo的输入? 例如:
$ echo "Hello, world!" | ./hello
我需要保存字符串" Hello,world"到阵列。
答案 0 :(得分:1)
echo
的输出piped为hello
的输入。要在C中将字符串作为输入,请使用fgets
:http://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!"
$