如何为字符串数组分配参数?

时间:2011-01-11 03:59:53

标签: c

int main(int argc, char **argv) {
  char username[256];
  username = ?;
}

感谢〜

2 个答案:

答案 0 :(得分:7)

你可能想让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

答案 1 :(得分:2)

如果你想复制另一个字符串(比如argv [1]),那么你可能想要使用strncpy(http://strncpy.org/)。如果你想从stdin输入它,那么http://en.wikipedia.org/wiki/Fgets可能是更好的选择。