¿Cómo asigno un argumento a una matriz de cadenas?

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

gracias ~

Probablemente quieras hacer que el username sea ​​un puntero, entonces simplemente puedes asignarlo:

 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; } /* ... */ } 

Pero si realmente desea copiar el contenido de la matriz, está buscando strncpy .

Si desea copiar otra cadena (como argv [1]), es probable que desee usar strncpy ( http://strncpy.org/ ). Si quieres ingresarlo desde stdin, entonces http://en.wikipedia.org/wiki/Fgets es probablemente una mejor opción.