【问题标题】:Iteration of IP list in CC中IP列表的迭代
【发布时间】:2020-08-17 03:59:08
【问题描述】:

我在用 C 进行迭代编码时遇到了一些麻烦,这是从一个 .txt 文件中获取的,其中有几个 IP 在几行中一个在另一个之上列出。我需要做的是打印文件的全部内容,然后立即自动ping每个IP,一个接一个。我已经苦苦挣扎了几个小时,但我无法得到它 - 我不知道迭代,到目前为止我只能打印实际文件,但它只是 ping 第二行而不是第一行一个。


    FILE* fp;
    char ch[500], x[225], str[80];

    printf("\n    Escribe la ruta del documento deseado\n\n");
    scanf("%s", x);

    fp = fopen(x, "r");

    if (fp == NULL)
    {
        printf("El archivo no se ha podido encontrar.");
        exit(0);
    }

    while (fgets(ch, 100, fp)) {
        printf("%s", ch);
    }

            fgets(ch, 100, fp);
            strcpy(str, "ping ");
            strcat(str, ch);
            system(str);


}

有什么帮助吗?提前致谢。

【问题讨论】:

  • 使用 C 首先你需要使用 while 知道文件中包含每个 IP 的行数,然后使用 malloc 使用指针并创建一个数组,最后再次迭代文件填充数组,然后使用它。对于这种情况,Perl、Bash、Python 或 Powershell 比 C 更容易使用。您使用的是哪个操作系统,*nix 还是 Windows?

标签: networking ip c


【解决方案1】:

好吧,刚刚通过添加“while (!feof(fp))”奇迹般地解决了这个问题。现在我只是想知道如何通过 C 来确定 ping 是否给出了真假响应。我敢打赌,一些“如果...否则”可能会,但我一生都无法弄清楚它如何在 ping 环境中工作...

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2022-08-18
  • 2017-05-30
  • 1970-01-01
  • 1970-01-01
  • 2013-02-07
  • 2023-03-23
  • 2018-12-14
相关资源
最近更新 更多