2012-09-27 58 views
1

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

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

当字符串为“字符串”我得到的是一个字符串长度大小的数组与每个值是一个s。 任何想法?

回答

4

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

尝试如下

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

附加说明: 可以如用strcpy的或memcpy的字符串复制到一个字符数组。我希望你有足够的理由为此使用sscanf。

+0

非常感谢。这样可行 – user1701899