Это код для преобразования строки в строчные буквы. Я использовал идею о том, что разница значений ASCII между прописными и строчными буквами в алфавите равна 32. Я использую кодовые блоки. Код выполняет преобразование, но выдает эту ошибку. Почему в этом случае я получаю ошибку, хотя нет ошибки при преобразовании строки в char? Как это исправить?
#include<iostream>
using namespace std;
string convertlow (string input )
{
char letters[255];
int ascii[255];
for (int i=0;i<255;i++)
{
letters[i]=input[i];
ascii[i]=(int)letters[i];
if (ascii[i] < 91)
{
ascii[i] = ascii[i] + 32;
letters[i] = (char) ascii[i];
input[i] = letters[i];
}
}
return input;
}
int main()
{
string in;
cin >> in;
cout << "The lowercase version is: \n" << convertlow(in);
return 0;
};