【问题标题】:Reading individual characters from a string constant in C using sscanf使用 sscanf 从 C 中的字符串常量中读取单个字符
【发布时间】:2012-09-27 01:24:16
【问题描述】:

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

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

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

【问题讨论】:

    标签: c string c-strings


    【解决方案1】:

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

    尝试如下

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-14
      • 2012-06-06
      • 2012-11-23
      • 1970-01-01
      • 2016-02-25
      • 1970-01-01
      相关资源
      最近更新 更多