Убрать пробел из передней части моей строки C - PullRequest
0 голосов
/ 03 января 2012

У меня есть код, который выводит как это:

void exec_prompt(char * usr_name, char * host_name)
{
    printf(" %s::%s\n", usr_name, host_name);
    return;
}

Но распечатка выглядит не так, как ожидалось:

 geisst::ALPHA-DT2

Это место находится в начале строки.

Переменная usr_name передается из главной функции и возвращается из функции getenv (). Переменная host_name передается из главной функции с использованием следующей функции:

char * returnHost()
{
    char hostname[1024];
    hostname[1023] = '\0';
    gethostname(hostname, 1023);

    return hostname;
}

Может быть, функция getenv () добавляет пробел?

Любая помощь или совет приветствуется и, пожалуйста, будьте любезны: P

GeissT

1 Ответ

2 голосов
/ 03 января 2012

Причина в том, что ваш формат содержит пробел: "% s ::% s \ n"

Просто измените его на:

printf("%s::%s\n", usr_name, host_name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...