c - 使用系统ECHO命令在C语言中打印二维数组

标签 c echo

<分区>

如何在C程序中执行系统命令“echo”打印出二维数组中的所有元素?我试过了,但没用。

输入:

char myarray[1][10] = {"Hello", "World"};
system("echo $myarray");

预期输出:

Hello World

目前我没有得到任何输出。

更新 1(约束): 我无法分配更多内存——我只能使用 myarray 变量。 我可以使用任何其他标量或指针变量。

最佳答案

在调用 system 之前,您需要在单个字符串中构建整个命令。像这样的东西:

char myarray[2][10] = {"Hello", "World"};
//           ^ notice

char mycommand[42];
strcpy(mycommand, "echo \"");
strcat(mycommand, myarray[0]);
strcat(mycommand, " ");
strcat(mycommand, myarray[1]);
strcat(mycommand, "\"");

system(mycommand);

关于c - 使用系统ECHO命令在C语言中打印二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39909385/

相关文章:

转换指针不会产生左值。为什么?

c - 快速值检查?

c - 指向静态分配结构的全局指针

bash - 为什么 sudo cat 给出权限被拒绝但 sudo vim 工作正常?

c - 如何比较 char 和 char 链表值?

c - char str[] 和 char *str 作为函数参数有什么区别?

c - 从 C 中的终端删除用户输入

cmd - 如何在命令行中回显单词 "on"和 "off"?

php - 获取 HTML 文档中的 PHP 文件

php - 用php回显mysql查询结果