Программирование на C - Командная строка Arg - Попытка получить IP-адрес - PullRequest
0 голосов
/ 30 ноября 2011

Наше назначение - иметь модель сервер-клиент ....

Предполагается, что мы проверим аргумент командной строки arg, если его нет (argc = 1), мы настроим его каксервер.в противном случае мы используем argv [1] для настройки клиентского сокета ...

Кажется, все работает нормально, если я просто использую случайность для аргумента, но когда я пытаюсь ввести адрес, 1.2.3.4 дляНапример, он не выдает никаких результатов, просто запускает программу и ничего не делает.

Наверное, мой вопрос в том, как лучше всего обрабатывать аргумент командной строки в виде IP-адреса.

Вот моя основная функция.

int main( int argc, char *argv[] )
{

    printf("%i",argc);
    if(argc==1)
    {
            printf("Welcome to the ZOG Virtual Probe Game!  You have choosen to take the role of a server.");
            printf("\nPlease wait for an opponent to connect.");
            runServer();
    }else if(argc==2)
    {
            printf("Welcome to the ZOG Virtual Probe Game!  You are now connecting to specified IP.");
            runClient(argv[1]);
    }else
    {
            printf("You used an invalid command line argument. You can input an IP address or leave no command arg to host a game.");
    }
}

1 Ответ

5 голосов
/ 30 ноября 2011

Добавьте fflush после printf.Ваше приветственное сообщение буферизируется.Может быть достаточно просто вставить новую строку в конце печатаемых строк.

...