字符数组到C中的字符串?

标签 c string

我想把一个字符数组变成一个字符串。

示例:

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/

相关文章:

c++ - int(*g)(int) 转换为 int(*h)(char) 导致错误的原因?

c - 指向结构的指针未按预期工作

c - C 中的 setgid() 调用不起作用

PHP:字符串索引

java - 有没有办法将字母形式的数字字符串数组转换为数字形式?

java - Java如何获取字符串中通配符的值?

string - Elisp split-string 函数用于按 分割字符串。特点

c - 如何在C宏中区分常量字符串和char *

c++ - 线程安全,无锁增量函数?

java - 从输入分隔值中获取数组