Когда я пытаюсь использовать tolower в строке, вместо того чтобы делать буквы в нижнем регистре, программа преобразует их в случайные символы. Вот мой код:У меня возникли проблемы с использованием tolower() в C++
#include <iostream>
#include <locale>
using namespace std;
int main()
{
string hi= "thTSMSdjNnJlJjnJJKn";
for (int i=0; i<hi.length(); i++)
{
hi[i]+=tolower(hi[i]);
cout << hi[i];
}
}
Это выход: Þð╚ã║ã╚È╝▄┤Ï┤È▄┤┤Â▄
Что с ней? Это не тот код, который я хочу использовать tolower, но я просто поместил его в отдельный пример, чтобы было более ясно. Я не против использовать верхний, но главное, что я получаю все буквы в строке в одном и том же случае.
привет [я] + = ToLower (привет [я]); -> hi [i] = tolower (hi [i]); –
'hi [i] + = ??' Должен быть закрыт как опечатка ... – John3136
вы не '#include' сначала, второй 'hi [i] = tolower (hi [i]);' should работа –