1

我正在尝试从传递给函数的字符串常量中读取单个字符并将它们放入数组中。我想要的最终结果是一个字符串数组,它与字符串常量相同。这是我的代码:

for(int i = 0; i < string_length; i++)
{
    sscanf(string, "%c", &array[i]);
}

当字符串是“字符串”时,我得到的只是一个 string_length 大小的数组,每个值都是一个 s。有任何想法吗?

4

1 回答 1

4

sscanf 无法记住您的索引位置并自动增加指针。因此,实际上,每次您在循环中调用它时,它都会读取第一个字符。

尝试如下

sscanf(string+i, "%c", &array[i]); 

附加说明: 您也可以使用 strcpy 或 memcpy 将字符串复制到字符数组中。我希望您有充分的理由为此使用 sscanf。

于 2012-09-27T01:29:39.490 回答