我的 C 程序中有传递的参数 argv[1]
,我想将该字符串转换为字符数组。我该怎么做?
int main(int argc, char* argv[])
{
char c [] = argv[1]; // This is what I want to do...
}
编辑:
我想做的是从 argv[1]
中获取某些字符并检查它们是否为数字。所以,理想情况下,我会做类似的事情:
int a = argv[1][2]
但这会遇到另一个问题——我如何检查 C 中变量的类型?
最佳答案
首先,它已经是一个字符数组,以 NULL 结尾。您可以通过说 char *c = argv[1];
简单地选择指向它的另一个指针,或者您可以使用 将整个字符串(空终止符和所有)复制到另一个数组中code>strcpy(char *destination, char *source)
函数http://www.cplusplus.com/reference/clibrary/cstring/strcpy/像这样:
char c[BUFFER]; //This has to be big enough to hold length + 1
strcpy(c, argv[1]);
任何一种方法都是有效的。
关于c - 在 C 中,如何将字符串转换为字符数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4066158/