将char分配给char *

时间:2017-01-11 00:40:35

标签: c arrays string

我需要一个完整的字符串作为另一个字符串的一个字符。

const char *const_string = "FOOBAR";
char *character_string = malloc(1024);
// character_string = const_string[3];

如何使最后一行(注释)生效?

2 个答案:

答案 0 :(得分:3)

看来你的意思是以下

void do_something(char *str, int idx)
{
    str[0] = glob_str[idx];
    str[1] = '\0';
}

您可以向函数添加一个检查,指出索引不在glob_str指向的字符串文字之外。

答案 1 :(得分:0)

鉴于

char *glob_str = "test test";  // glob_str is literal string and cannot be modified

然后

glob_str[0] = val; // modification won't work

您需要更改为

char glob_str[] = "test test";

请参阅此question