Ciao a tutti,
sto riscontrando un problema un po' anomalo, di cui non capisco il motivo. Il codice č il seguente:
Codice:
#include <cstring>
#include <string>
#include <iostream>
using namespace std;
char* toUpper(char* str){
char* cur = str;
while (*cur!= '\0')
{
*cur = toupper(*cur);
cur++;
}
return str;
}
int main()
{
char * b = "prova";
cout << toUpper(b) << endl;
system("pause");
}
In fase di compilazione tutto ok, in fase di esecuzione lancia una eccezione e si blocca. Non riesco a capirne il motivo, sapreste aiutarmi? Anche se levo la funzione toupper e metto una assegnazione qualunque, tipo *cur = 'a'; fa lo stesso.
La funzione dovrebbe modificare la stringa passata in input e restituire un puntatore alla stringa stessa