我想把一个字符数组变成一个字符串。
示例:
char foo[2] = {'5', '0'};
--> char* foo = "50";
在 C 中执行此操作的最佳方法是什么?问题源于我试图从命令行输入中提取子字符串的更大问题。例如,我想将 argv[1][0]
和 argv[1][1]
变成一个字符串,这样如果程序像这样运行...... .
$ ./foo 123456789
我可以将“12”分配给 char*
变量。
最佳答案
类似于:
char* foo_as_str = malloc(3);
memset(foo_as_str, 0, 3);
strncpy(foo_as_str, argv[1], 2);
关于字符数组到C中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11943003/