c - 在 C 中,如何将字符串转换为字符数组?

标签 c string argv

我的 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/

相关文章:

c - 函数调用中不兼容的指针类型 - C

C - 从文件读取并将信息保存在变量上

c# - 用双反斜杠替换反斜杠、正斜杠和双正斜杠

c - 在 C 中使用 argv 和 argc 解析命令行

python - 对于 sys.argv[1 :]: argument list too long 中的 fi

c - 两个参数 c

c - 在代码中处理二进制文件删除

c# - .NET 中的字符串连接和线程

Ruby:字符串重建算法,只能部分工作

c - 在这段代码中,为什么 'ename' 应该是 char 指针类型而不是 char 数组?