Ciao ragazzi, scusate per il titolo un po' generico ma è il più appropiato che mi veniva in mente.
Il problema è questo:
In un file ci sono queste 5 righe:
codice:
C:\windows\notepad.exe::134
C:\windows\include.exe::178
C:\fileaaaaa.exe::178
C:\::8
C:\windows\notepad.exe::66
Con questa funzione separo la path dal resto (::blablabla)e la assegno ad un tipo string.

Funzione:
Codice PHP:
string PrendiPath(char RigaDaAnalizzare[1000])
{
string str_Path;
for(
int FOR1 0FINEFOR1 0FOR1 strlen(RigaDaAnalizzare) && FINEFOR1 1FOR1++)
    {
if(
RigaDaAnalizzare[FOR1] == ':' && RigaDaAnalizzare[FOR1 1] == ':'
{
str_Path.assign(RigaDaAnalizzare,,FOR1); FINEFOR1 1; }
//quando trova "::" copia in str_Path il codice che precede"::"
    
}
return 
str_Path;

La funzione lavora perfettamente per le prime quattro righe di file passategli, ma quando arriva all'ultima: C:\windows\notepad.exe::66 va in crash.

Usando il debug sono arrivato a concludere che il crash è nel return della funzione e penso che sia dovuto al fatto che la stringa precedente era
codice:
C:\::8
e quindi la memorua riservata per il return della funzione si è "accorciata" e poi quando la funzione ha ritornato (che è una stringa con più caratteri della precedente)
codice:
C:\windows\notepad.exe::66
la memoria non bastava ed ecco il CRASH!!!

Come posso fare? Help