PDA

Visualizza la versione completa : [C++] Uso della funzione mid() per recuperare informazioni da CStringList


fatina biondina
21-07-2007, 10:13
ciao a tutti
ho una stringa in un file .txt

/addpassword luna=t=1
la recupero e devo recuperare delle informazioni ke verranno poi inserite in una CStringList
il problema è che non riesco a recuperare bene i dati usando la mid
io ho fatto in questo modo se qualcuno può dirmi cosa sbaglio ne sarei molto grata :zizi:

if (Command == "/addpassword ")
{
CString TargetPassword = input.Mid(13, input.Find("=", 13) - 13);
CString TargetAccess = input.Mid((13 + TargetPassword.GetLength() + 1), input.Find("=", 13 + TargetPassword.GetLength() +1 ) - (13 + TargetPassword.GetLength() +1));
CString TargetTextNum = input.Mid(input.Find("=", 13 + TargetPassword.GetLength() + 1)+1);

Passwords.AddTail(TargetPassword);
Accesses.AddTail(TargetAccess);
}

oregon
21-07-2007, 17:41
A me sembra che funzioni, a parte la prima if, che non so se debba essere

if (Command == "/addpassword")

cioe' senza spazio finale tra virgolette ... ma non sapendo come viene ricavata la stringa Command, puo' non essere importante ...

fatina biondina
21-07-2007, 20:08
uhm grazie però se levo lo spazio devo mettere 12 o 13?

MItaly
21-07-2007, 20:31
Un appunto: se compili in Unicode l'if fatto in questa maniera non funzionerà; devi metterlo così:


if (Command == _T("/addpassword "))
.

oregon
21-07-2007, 20:49
Originariamente inviato da fatina biondina
uhm grazie però se levo lo spazio devo mettere 12 o 13?

La if la fai sulla stringa Command e la mid sulla input ... che relazione c'e' tra le due stringhe ...?

Vedere solo un pezzo del programma non aiuta ...

Loading