怎么将这段代码的值赋值给一个数组system("/usr/bin/sn_core.elf getstat 2>/dev/null");
时间: 2023-11-27 18:03:43 浏览: 60
Linux系统目录解析
要将 system 函数执行命令的结果保存到数组中,可以使用 popen 函数代替 system 函数。popen 函数可以执行命令并打开一个管道,通过该管道读取命令执行结果。具体实现方法如下:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_BUF_SIZE 1024
int main() {
char buf[MAX_BUF_SIZE];
FILE *fp = popen("/usr/bin/sn_core.elf getstat 2>/dev/null", "r");
if (!fp) {
perror("popen failed");
exit(EXIT_FAILURE);
}
fgets(buf, MAX_BUF_SIZE, fp);
pclose(fp);
return 0;
}
```
这段代码使用 popen 函数执行命令,并将执行结果读取到 buf 数组中。需要注意的是,buf 数组需要足够大,以容纳命令执行结果。同时,由于使用了 popen 函数,因此也需要注意安全问题,避免命令注入等安全问题。
阅读全文