指令/usr/bin/sn_core.elf getphy 打印的内容是 Offset: 12130 12130 Voltage: 31872 用c调用该指令 并将其打印出来的内容存储到一个数组中
时间: 2024-03-27 09:40:56 浏览: 79
可以使用C语言中的popen函数来调用指令并将其输出的内容读入到一个数组中。具体实现如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_BUF_SIZE 1024
int main() {
FILE *fp;
char buf[MAX_BUF_SIZE];
char result[MAX_BUF_SIZE];
int i = 0;
fp = popen("/usr/bin/sn_core.elf getphy", "r");
if (fp == NULL) {
printf("Error: failed to execute command.\n");
exit(1);
}
while (fgets(buf, MAX_BUF_SIZE, fp) != NULL) {
// 处理每一行的数据
char *offset, *voltage;
offset = strtok(buf, " ");
voltage = strtok(NULL, " ");
sprintf(result + i, "%s %s", offset, voltage);
i += strlen(offset) + strlen(voltage) + 1;
}
printf("Result: %s\n", result);
pclose(fp);
return 0;
}
```
在上面的例子中,我们使用popen函数来执行指令"/usr/bin/sn_core.elf getphy",并将其输出读入到数组result中。我们使用fgets函数逐行读取指令输出的内容,然后使用strtok函数来分割每一行的数据,将偏移量和电压值存储到数组result中。最后,我们使用printf函数输出整个数组result。注意,我们需要使用pclose函数关闭文件指针fp。
阅读全文