如何将参数分配给字符串数组?
答
你可能想使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
。
答
如果要复制另一个字符串(如的argv [1]),那么你可能想使用函数strncpy(http://strncpy.org/)。如果你想从stdin输入它,那么http://en.wikipedia.org/wiki/Fgets可能是一个更好的选择。
如果我通过了257个字符怎么办? – SLaks 2011-01-11 04:03:01