如何编辑用系统命令创建的 C 文本文件?
How to edit a text file in C created with a system command?
我编写了一个程序来在 linux 终端上打印 运行 的 "Traceroute" 命令的输出。这里的代码:
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <time.h>
#include "SourceIP.c"
#include "RandomTraceroute.c"
#include "Time.c"
int main()
{
unsigned char sourceIP[15];
source(sourceIP);
printf("%s\n",sourceIP);
unsigned char destIP[15];
randIP(destIP);
printf("%s\n",destIP);
char buff[100];
timestamp(buff);
printf ("%s\n", buff);
char buf[BUFSIZ];
snprintf(buf, sizeof(buf),"traceroute -q 1 %s >output.txt",destIP);
system(buf);
return 0;
}
任务是通过删除文本文件的现有第一行,将前三行 printf 行打印为 output.txt 文件的前三行。任何人都可以为此提出答案。
(请同时考虑代码的时间复杂度)
您如何看待以下代码:
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <time.h>
#include "SourceIP.c"
#include "RandomTraceroute.c"
#include "Time.c"
int main()
{
FILE *f = fopen("output.txt", "w");
unsigned char sourceIP[15];
source(sourceIP);
fprintf(f, "%s\n", sourceIP);
unsigned char destIP[15];
randIP(destIP);
fprintf(f, "%s\n", destIP);
char buff[100];
timestamp(buff);
fprintf(f, "%s\n", buff);
fclose(f);
char buf[BUFSIZ];
snprintf(buf, sizeof(buf),"traceroute -q 1 %s 2> /dev/null >> output.txt", destIP);
system(buf);
return 0;
}
我编写了一个程序来在 linux 终端上打印 运行 的 "Traceroute" 命令的输出。这里的代码:
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <time.h>
#include "SourceIP.c"
#include "RandomTraceroute.c"
#include "Time.c"
int main()
{
unsigned char sourceIP[15];
source(sourceIP);
printf("%s\n",sourceIP);
unsigned char destIP[15];
randIP(destIP);
printf("%s\n",destIP);
char buff[100];
timestamp(buff);
printf ("%s\n", buff);
char buf[BUFSIZ];
snprintf(buf, sizeof(buf),"traceroute -q 1 %s >output.txt",destIP);
system(buf);
return 0;
}
任务是通过删除文本文件的现有第一行,将前三行 printf 行打印为 output.txt 文件的前三行。任何人都可以为此提出答案。 (请同时考虑代码的时间复杂度)
您如何看待以下代码:
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <time.h>
#include "SourceIP.c"
#include "RandomTraceroute.c"
#include "Time.c"
int main()
{
FILE *f = fopen("output.txt", "w");
unsigned char sourceIP[15];
source(sourceIP);
fprintf(f, "%s\n", sourceIP);
unsigned char destIP[15];
randIP(destIP);
fprintf(f, "%s\n", destIP);
char buff[100];
timestamp(buff);
fprintf(f, "%s\n", buff);
fclose(f);
char buf[BUFSIZ];
snprintf(buf, sizeof(buf),"traceroute -q 1 %s 2> /dev/null >> output.txt", destIP);
system(buf);
return 0;
}