第一个图是原文,第二张图是要达到的效果,用fgets和popen函数应该怎么做
3条回答 默认 最新
- 社区专家-Monster-XH 2023-03-03 14:52关注
基于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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用