Как назначить аргумент для массива строк? - PullRequest
1 голос
/ 11 января 2011
int main(int argc, char **argv) {
  char username[256];
  username = ?;
}

спасибо ~

Ответы [ 2 ]

7 голосов
/ 11 января 2011

Возможно, вы захотите сделать username указателем, тогда вы можете просто присвоить его:

int
main(int argc, const char *const *argv)
{
    const char *username;
    if (argc >= 2)
        username = argv[1];
    else
    {
        fprintf(stderr, "usage: %s username ...\n", argv[0]);
        return 2;
    }
    /* ... */
}

Но если вы действительно хотите скопировать содержимое массива, вы ищете strncpy.

2 голосов
/ 11 января 2011

Если вы хотите скопировать другую строку (например, argv [1]), то вы, вероятно, захотите использовать strncpy (http://strncpy.org/).Если вы хотите ввести его из стандартного ввода, тогда лучше подойдет http://en.wikipedia.org/wiki/Fgets.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...