第一个图是原文,第二张图是要达到的效果,用fgets和popen函数应该怎么做


基于Monster 组和GPT的调写:
用fgets和popen函数来获取路由表信息。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINE_LENGTH 1024
int main() {
FILE* fp = popen("route", "r"); // 执行route命令并读取输出
if (!fp) {
perror("popen failed");
exit(EXIT_FAILURE);
}
char line[MAX_LINE_LENGTH];
int count = 0;
while (fgets(line, MAX_LINE_LENGTH, fp)) {
if (count++ == 0) { // 跳过第一行表头
continue;
}
char* net[3];
net[0] = strtok(line, " ");
net[1] = strtok(NULL, " ");
net[2] = strtok(NULL, " ");
printf("Net[0]:%s\n", net[0]);
printf("Net[1]:%s\n", net[1]);
printf("Net[2]:%s", net[2]);
}
pclose(fp); // 关闭文件指针
return 0;
}