Проверить, содержит ли строка специфицированное c количество заданных значений - PullRequest
0 голосов

Я пытаюсь декодировать сообщение, представленное как азбука Морзе, через аргумент командной строки. Если предоставленная строка содержит 7 пробелов, это означает, что мне нужно вывести пробел в декодированную строку. Таким образом я пытаюсь проверить, содержит ли строка 7 пробелов с помощью for l oop:

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

Пожалуйста, дайте мне знать, можно ли для этой цели использовать какой-либо эффективный способ. В настоящее время я не могу использовать связанные списки или структуры, но, возможно, есть другой способ, сообщите

1 Ответ

1 голос
/ 28 мая 2020

Вместо этого вы можете использовать substr(), как показано ниже:

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

Это проверит наличие подстроки от i до i+7 (этот индекс включен), и если эта подстрока равна 7 пробелов, то он выполнит требуемую задачу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...