2012-04-20 19 views
5

Sto provando a leggere un file di configurazione .init in C++ con il contenuto.GetPrivateProfileInt- legge solo i valori predefiniti

[indirizzoIP]

IPAddress = 169.254.115.22

[ScanConfiguration]

Scanfrequency = 2500

ScanResolution = 2500

startAngle = 700000

StopAngle = 1100000

Fino ad ora, ho usato questo codice per leggere i dati. Il mio progetto è di un set di caratteri Unicode e quindi usava L prima dei valori di stringa.

int iScanFreq =GetPrivateProfileInt(L"ScanConfiguration",L"Scanfrequency", 2500, L"filename.ini"); 
    int iScanRes =GetPrivateProfileInt(L"ScanConfiguration",L"ScanResolution", 2500, L"filename.ini"); 
    int iStartAngle =GetPrivateProfileInt(L"ScanConfiguration",L"StartAngle", -450000, L"filename.ini"); 
    int iStopAngle =GetPrivateProfileInt(L"ScanConfiguration",L"StopAngle", 2250000, L"filename.ini"); 

Ma sto ottenendo solo i valori predefiniti nelle variabili non i valori corretti dal file. Non ho ancora fatto nulla con il registro. C'è qualcosa che devo fare nel Registro di sistema per ottenere il valore corretto ..

Qualsiasi suggerimento sarà utile Grazie.

risposta

8

Un'idea viene in mente: GetPrivateProfileString e gli amici hanno un po 'di stranezza con il modo in cui trovano il file INI. A meno che non si specifichi un percorso per il file INI (anche qualcosa di semplice come .\filename.ini), si presuppone che il file si trovi nella directory di Windows. Questo non è quasi certamente quello che vuoi, e probabilmente porterà a non trovare il file, e quindi ai valori di default.

Inoltre, non aspettatevi il pieno supporto Unicode da quelle funzioni. They're just Unicode wrappers around ANSI text.

+0

V..Grazie .. ho provato a dare il percorso completo..ma non funziona. – ShivShambo

+0

Controlla il tuo file INI in quel caso. Potrebbe avere una BOM (byte order mark) o qualcosa di simile che potrebbe confondere il parser. – ChrisV

+0

Ho controllato l'errore utilizzando GetLastError() e restituisco 2, il che significa che non può trovare il percorso specificato. – ShivShambo

Problemi correlati