繁体   English   中英

使用sscanf从C中的字符串常量中读取单个字符

[英]Reading individual characters from a string constant in C using sscanf

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

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

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

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

请尝试以下方式

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM