【发布时间】:2022-11-30 22:10:42
【问题描述】:
有没有人知道如何使用 C 将 CMD 输出保存到 .txt?我想做一个 ping 和 tracert,然后询问是否应该保存结果。如果保存,结果应保存在 .txt 中。
我的代码是这样的:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main ()
{
char Testprint1[100],Testprint2[100];
sprintf(Testprint2, "ping 127.0.0.1");
system(Testprint2);
sprintf(Testprint2, "tracert 127.0.0.1");
system(Testprint2);
printf("\nDo you want to save the output? (y)Yes / (n)No: ");
if (Answer=='j')
{
FILE *Test;
Test = fopen("Test_Log.txt", "w");
fprintf(Test, "Ping:\n%s\n\nTracert:\n%s\n",Testprint1,Testprint2);
if(Pinglog == NULL)
{
printf("Log could not be saved.\n");
system("\n\npause\n");
}
else
{
printf("Log has been saved.");
fclose(Pinglog);
system("cls");
}
}
else if(Answer=='n')
{
system("cls");
system("\n\npause\n");
}
}
文本包括:
平: 平 127.0.0.1
跟踪: 跟踪 127.0.0.1
对我来说,只有这个结果是合理的,但我不知道如何改变它以及如何保存 CMD 输出,例如在变量中,然后将其保存在 .txt 中。
【问题讨论】:
-
您可以为此使用
popen -
@jvx8ss Windows 中的模拟是带下划线的_popen
-
@jvx8ss 感谢您的宝贵时间。我需要在哪里使用它?在 CMD 输出之前还是之前?你能举个我的例子吗? :)