Closed. This question needs to be more focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
2年前关闭。
我想写“ ping”的结果。
首先,我写命令行,然后..写其余的ping结果。
像这样。
ping -c5 -W1 192.168.30.52
PING 192.168.30.52(192.168.30.52)56(84)个字节的数据。
来自192.168.30.52的64个字节:icmp_seq = 1 ttl = 64时间= 0.368 ms
来自192.168.30.52的64个字节:icmp_seq = 2 ttl = 64时间= 0.408 ms
来自192.168.30.52的64个字节:icmp_seq = 3 ttl = 64时间= 0.400 ms
来自192.168.30.52的64个字节:icmp_seq = 4 ttl = 64时间= 0.392 ms
来自192.168.30.52的64个字节:icmp_seq = 5 ttl = 64时间= 0.393 ms
-192.168.30.52 ping统计-
传输5个数据包,接收5个数据包,0%数据包丢失,时间3996ms
rtt最小值/平均值/最大值/ mdev = 0.368 / 0.392 / 0.408 / 0.018 ms
但是此源结果是...在文件末尾写入了命令行。
这个结果是
PING 192.168.30.52(192.168.30.52)56(84)个字节的数据。
来自192.168.30.52的64个字节:icmp_seq = 1 ttl = 64时间= 0.368 ms
来自192.168.30.52的64个字节:icmp_seq = 2 ttl = 64时间= 0.408 ms
来自192.168.30.52的64个字节:icmp_seq = 3 ttl = 64时间= 0.400 ms
来自192.168.30.52的64个字节:icmp_seq = 4 ttl = 64时间= 0.392 ms
来自192.168.30.52的64个字节:icmp_seq = 5 ttl = 64时间= 0.393 ms
-192.168.30.52 ping统计-
传输5个数据包,接收5个数据包,0%数据包丢失,时间3996ms
rtt最小值/平均值/最大值/ mdev = 0.368 / 0.392 / 0.408 / 0.018 ms
ping -c5 -W1 192.168.30.52
我该如何解决??? /?
我不喜欢这样。
有用 !
感谢所有评论!
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
2年前关闭。
我想写“ ping”的结果。
首先,我写命令行,然后..写其余的ping结果。
像这样。
ping -c5 -W1 192.168.30.52
PING 192.168.30.52(192.168.30.52)56(84)个字节的数据。
来自192.168.30.52的64个字节:icmp_seq = 1 ttl = 64时间= 0.368 ms
来自192.168.30.52的64个字节:icmp_seq = 2 ttl = 64时间= 0.408 ms
来自192.168.30.52的64个字节:icmp_seq = 3 ttl = 64时间= 0.400 ms
来自192.168.30.52的64个字节:icmp_seq = 4 ttl = 64时间= 0.392 ms
来自192.168.30.52的64个字节:icmp_seq = 5 ttl = 64时间= 0.393 ms
-192.168.30.52 ping统计-
传输5个数据包,接收5个数据包,0%数据包丢失,时间3996ms
rtt最小值/平均值/最大值/ mdev = 0.368 / 0.392 / 0.408 / 0.018 ms
但是此源结果是...在文件末尾写入了命令行。
#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <sys/types.h>
#define FILE_NAME "ping.txt"
#define doSystem system
void main(void) {
FILE *fp;
char cmdBuf[256], fileBuf[256], buffer[256];
char dst_addr[124] = "192.168.30.52";
struct in_addr ipaddr;
ssize_t read;
size_t len = 0;
if( !inet_aton(dst_addr, &ipaddr) ) {
printf("invalid ip address\n");
} else {
sprintf(cmdBuf, "ping -c5 -W1 %s > %s", dst_addr, FILE_NAME );
fp = fopen(FILE_NAME, "a+");
fprintf(fp , "ping -c5 -W1 %s\n", dst_addr);
doSystem(cmdBuf);
fp = fopen(FILE_NAME, "r");
while(fgets(buffer, 255, (FILE*) fp)) {
printf("%s", buffer);
}
}
}
这个结果是
PING 192.168.30.52(192.168.30.52)56(84)个字节的数据。
来自192.168.30.52的64个字节:icmp_seq = 1 ttl = 64时间= 0.368 ms
来自192.168.30.52的64个字节:icmp_seq = 2 ttl = 64时间= 0.408 ms
来自192.168.30.52的64个字节:icmp_seq = 3 ttl = 64时间= 0.400 ms
来自192.168.30.52的64个字节:icmp_seq = 4 ttl = 64时间= 0.392 ms
来自192.168.30.52的64个字节:icmp_seq = 5 ttl = 64时间= 0.393 ms
-192.168.30.52 ping统计-
传输5个数据包,接收5个数据包,0%数据包丢失,时间3996ms
rtt最小值/平均值/最大值/ mdev = 0.368 / 0.392 / 0.408 / 0.018 ms
ping -c5 -W1 192.168.30.52
我该如何解决??? /?
最佳答案
sprintf(cmdBuf, "ping -c5 -W1 %s >> %s", dst_addr, FILE_NAME );
fp = fopen(FILE_NAME, "w");
fprintf(fp , "ping -c5 -W1 %s\n", dst_addr);
fclose(fp);
doSystem(cmdBuf);
我不喜欢这样。
有用 !
感谢所有评论!