小编Des*_*akt的帖子

C中的system()时出现分段错误

我想使用linux的"base64"脚本对数据进行编码并在C中获取.当我尝试编译时

char a[200];
strcpy(a, "Hello");
printf("%s", a);
Run Code Online (Sandbox Code Playgroud)

我得到了输出

Hello
Run Code Online (Sandbox Code Playgroud)

现在,每当我尝试代码

char a[200];
strcpy(a, system("echo Hello | base64"));
printf("%s", a);
Run Code Online (Sandbox Code Playgroud)

我得到了输出

aGVsbG8K
Segmentation fault
Run Code Online (Sandbox Code Playgroud)

即使我删除了"printf"语句,我也是如此

aGVsbG8K
Segmentation fault
Run Code Online (Sandbox Code Playgroud)

我想保存输出的值

system("echo Hello | base64")
Run Code Online (Sandbox Code Playgroud)

在'a'而不显示它.请帮忙

c terminal segmentation-fault

3
推荐指数
1
解决办法
172
查看次数

标签 统计

c ×1

segmentation-fault ×1

terminal ×1