У меня есть строка на С++, которая выглядит так:
string word = "substring"
Я хочу прочитать строку word
, используя цикл for
, и каждый раз, когда будет найден s
, распечатать "S found!"
. Конечный результат должен быть:
S found!
S found!
@πάνταῥεῖ как я могу достичь цели, указанной в посте
Вы сами что-нибудь пробовали? Это слишком широко, чтобы спрашивать здесь, есть много способов добраться туда. Скорее спросите, как исправить проблемы своими собственными попытками.
я пытался использовать цикл for, который проверяет, находится ли char в строке, но это не сработало
@1BL1ZZARD, тогда, пожалуйста, редактировать свой вопрос, чтобы показать, что вы пробовали, чтобы кто-нибудь мог объяснить, почему это не сработало, и как это исправить.
Возможно, вы могли бы использовать toupper
:
#include <iostream>
#include <string>
void FindCharInString(const std::string &str, const char &search_ch) {
const char search_ch_upper = toupper(search_ch, std::locale());
for (const char &ch : str) {
if (toupper(ch, std::locale()) == search_ch_upper) {
std::cout << search_ch_upper << " found!\n";
}
}
}
int main() {
std::string word = "substring";
std::cout << word << '\n';
FindCharInString(word, 's');
return 0;
}
Выход:
substring
S found!
S found!
И какой у вас вопрос, пожалуйста?