Hallo Leute, ich hab Probleme mit der atoi-Funktion. Ich lese aus einer Datei (config.dat) ein 9 stelligen Zahlenwert in den config_buffer ein. Diesen eingelesenen Zahlenwert möchte ich nun in einen int-Zahlenwert umwandeln und in zahlen_wert[i] schreiben. zahlen_wert[] ist global als unsigned in deklariert. Die ganze Geschichte funktioniert bis zu einer 5 stelligen Zahl (z.B. 000012345), leider ab einer 6 stelligen Zahl (000123456) nicht mehr. Hat einer von euch eine Idee was ich falsch mache? Ich dank euch. Gruß Stephan
1 | S32 config_offset = 0; |
2 | unsigned char config_buffer[9]; |
3 | U8 mode_fseek = 0; |
4 | |
5 | config_offset = 188; |
6 | Fopen("config.dat",'r'); //öffnen der config Datei |
7 | for(i=0; i<15; i++) //15 Schleifendurchläufe für 15 mögliche Identifier |
8 | {
|
9 | config_offset = config_offset + 27; //den Offset auf den ersten Identifier im Config-File setze |
10 | Fseek(config_offset, mode_fseek); //im Config-File von vorne um den Ofsett verschieben |
11 | Fread(config_buffer, 9); //auslesen von 9 Zeichen in den config_buffer |
12 | |
13 | |
14 | zahlen_wert[i] = atoi(&config_buffer); |
15 | }
|
16 | Fclose(); |