Определение, близкое к вашему коду и исправляющее ошибки:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "Mymommaalwayssaid,\"Lifewaslikeaboxofchocolates.Youneverknowwhatyou'regonnaget.";
string lower = str;
for (size_t i = 0; i < lower.length(); ++i) // can also use an iterator
{
char c = lower[i];
if ((c >= 'A') && (c <= 'Z'))
lower[i] += ('a' - 'A');
}
cout << lower <<endl;
return 0;
}
Компиляция и исполнение
pi@raspberrypi:/tmp $ g++ -pedantic -Wextra t.cc
pi@raspberrypi:/tmp $ ./a.out
mymommaalwayssaid,"lifewaslikeaboxofchocolates.youneverknowwhatyou'regonnaget.
Но я не понимаю, потому что вы говорите без использования STL и используете std :: string .
Без std :: string ( iostream можно заменить на stdio.h )
#include <iostream>
using namespace std;
int main()
{
const char str[] = "Mymommaalwayssaid,\"Lifewaslikeaboxofchocolates.Youneverknowwhatyou'regonnaget.";
char lower[sizeof(str) + 1]; // if str content unknown so sizeof unknown => strlen and new/malloc etc
for (size_t i = 0 ; i != sizeof(str); ++i)
{
char c = str[i];
if ((c >= 'A') && (c <= 'Z'))
c += ('a' - 'A');
lower[i] = c;
}
lower[sizeof(str)] = 0;
cout << lower <<endl;
return 0;
}
Компиляция и исполнение
pi@raspberrypi:/tmp $ g++ -pedantic -Wextra t.cc
pi@raspberrypi:/tmp $ ./a.out
mymommaalwayssaid,"lifewaslikeaboxofchocolates.youneverknowwhatyou'regonnaget.