Как создать массив, который соответствует строке из stdin?

Я пытаюсь использовать gethostbyname. Если я жестко закодирую имя хоста непосредственно в вызове функции, он отлично работает. Однако я пытаюсь передать пользовательский ввод в эту функцию. Я считаю, что моя проблема связана с тем, что в массиве, который я передаю функции, много конечных пробелов.

  void connectHost(char *hostname)
    {

    int n;

    //This works
    //n = gethostbyname("irc.ubuntu.com");

    //This always returns NULL
    n = gethostbyname(hostname);

    if(n == NULL)
    {
    printf("Host Not Found.");
    }

    }

    int main()
    {
    char hostname[256];
    fgets(hostname,255,stdin);
    connectHost(hostname);
    } 

Итак, как лучше всего просто передать имя хоста функции? Разве мне не следует использовать fgets?

Спасибо!

1
задан codaddict 17 October 2010 в 01:00
поделиться