Quote:
Originariamente inviato da Piojolopez2406
Salve ragazzi sto avendo un problem con l'uso della strcpy, ho questo programmino ke mi deve trovare l'occorrenza di una sottostringa di 3 lettere in una stringa e sostituirmi queste rtre lettere con tre XXX, lo compilo e non mi segnala errori , ma al momento di avviarlo mi da un problema...
char *Pstringa="nel mezzo del cammin di nostra vita\n"
"mi ritrovai per una selva oscura\n"
"la cui diritta via era smarrita\n";
|
A Pstringa viene assegnato l'indirizzo di una stringa "
literal". Una stringa letterale è memorizzata in una area di memoria particolare dove risiedono tutte le stringhe costanti e in genere (ma dipende dal compilatore e anche dalla modalità di compilazione debug/release e magari da opzioni di compilazione), tale area è "
read-only".
Per tale motivo, andare a scrivere su una stringa literal è una cosa da
non fare perché può causare un segmentation fault.
Copia la stringa in un'area di memoria allocata dinamicamente o dichiara la stringa come array di char:
char str[]=".....";