【发布时间】:2022-11-25 23:44:40
【问题描述】:
我对编程还是比较陌生,并决定用 C 创建一个紧急工具作为 Windows 中一般问题的项目。此外,我想创建一个具有不同问题的菜单,该菜单应该是可选择的。
问题一是例如无法访问服务器/客户端。然后应在 CMD 中触发 ping 和 tracert。但我的挑战是我无法在输入每个查询时获得单独的 IP 地址。结果也应该显示。有人知道吗?
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define buffer[BUFFER_SIZE] = { 0 };
int main()
{
int selection1;
printf("What is the problem? Type in the appropriate number and press Enter: \n");
printf("1) Something is unavailable.\n");
printf("2) Problem 2\n");
printf("3) Problem 3\n");
printf("4) Problem 4\n");
printf("5) Problem 5\n");
printf("6) Problem 6\n");
printf("7) Problem 7\n");
fflush(stdout);
scanf("%d", &selection1);
if (selection1 == 1)
{
fflush(stdout);
char* pingAdress;
scanf("%c", &pingAdress)
system( "ping %c", pingAdress)
}
【问题讨论】:
-
“针对 Windows 中的一般问题的项目”=> 这对我来说是“Powershell”。有兴趣切换语言吗?
-
首先,
pingAdress是未初始化.其次,这是一个指针char而不是一个char本身。第三,&pingAdress是指向类型为char **的指针。第四,system函数不是像snprintf这样的格式化函数。第五,%c用于单个字符而不是字符串。第六(或其他)scanf的%c格式将读取全部字符,包括空格(包括先前输入的换行符)。总而言之,您似乎跳过了 C 教科书或课程的一些非常基础的部分。 -
@nick 是的,我知道 powershell 是最好的选择,但我想学习 C :)
-
@SergejWozke:很公平 :) 那么我的建议是:将您的任务分成两部分:(a) 编写一个带有用户选择和一些计算的小型控制台程序(可能是“猜数字”游戏等),以及 (b) 尝试让
system()的东西在“裸”环境中运行。如果两者都按预期工作,请合并它们。 -
@Some programmer dude:看来我那里有很多问题。我只学了两周的语言。您介意向我展示如何正确执行此操作的示例吗?至少我有一个解决方案。尼克:谢谢,我一定会试试的。