【问题标题】:Check if a string contains a specific number of given values检查字符串是否包含特定数量的给定值
【发布时间】:2020-09-16 05:48:41
【问题描述】:

我正在尝试对通过命令行参数以莫尔斯电码形式提供的消息进行解码。如果提供的字符串包含 7 个空格,则意味着我需要在解码后的字符串中打印一个空格。 这是我试图通过 for 循环检查字符串是否包含 7 个空格的方式:

                if ((str[i] == ' ' && str[i + 1] == ' ' &&
                 str[i + 2] == ' ' && str[i + 3] == ' ' &&
                 str[i + 4] == ' ' && str[i + 5] == ' ' &&
                 str[i + 6] == ' ')) {
                mx_printchar(' ');
               }

请让我知道是否可以为此目的使用任何有效的方法。 目前,我不能使用链表或结构,但也许还有其他方法,请指教

【问题讨论】:

  • 看看strstr。或类似memcmp(&str[i], " ", 7) 的东西。 (如果没有显示清楚,里面有7个空格......)

标签: c arrays string algorithm


【解决方案1】:

您可以改用substr(),如下所示:

if (str.substr(i,7) == "       ") {
     //do your task here
}

这将检查从ii+7 的子字符串(包括这个索引),如果这个子字符串等于7 个空格,那么它将执行所需的任务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-14
    • 2018-05-23
    • 1970-01-01
    • 2013-12-23
    • 2020-04-17
    相关资源
    最近更新 更多