ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
510
510
EMPFEHLEN
-
Hallo Forum,
ich habe ein Problem. Ich versuche eine Datei nach einem Muster zu parsen, was auch ganz gut funktioniert, bis auf das erste Zeichen. Die Datei beginnt mit 100... Versuche ich die Datei ab dem zweiten Zeichen einzulesen dann bekomme ich die zwei 00. Will ich aber das erste Zeichen bekomme garnichts.
Also ändere ichinCode :1
const int cols[] = {0,3,...steht hinterher in kunde[0] 00, ansonsten steht garnichts drin. Ich dachte schon das am Anfang der Zeile vielleicht ein Escape Zeichen oder sowas steht, aber dann müsste die 1 ja als nächstes Zeichen eingelesen werden.Code :1
const int cols[] = {1,3,...
Hier noch der komplette Code:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
const int cols[] = {0,3,6,8,16,24,31,34,37,44,52,61,69,72,92,112,117,137,157,177,197,217,237,239,240,242}; char kunde[rows][maxwidth]; lfdnr++; int i=0, j=0, k=0, laenge; char buf[1024]; FILE *input = fopen("\\Storage Card\\daten.txt", "r"); do { buf[i]=fgetc(input); i++; if (buf[i-1]=='\n') { j++; i=0; } } while (j!=lfdnr); buf[i]=0; for (j=0; j<rows; j++) { for (k=0, i=cols[j]; i<cols[j+1]; k++, i++) { kunde[j][k] = buf[i]; kunde[j][k+1] = 0; } }
Kann das jemand nachvollziehen?
Falls es wichtig ist: Es handelt sich um einen Pocket PC mit WindowsCE.
-
Hi,
ich schlag mich ebenfalls mit CE rum. Dein Problem kommt aber vermutlich nicht aus der CE Welt.
Falls du embedded VS c++ 4.0 nutzt schau doch einfach mal in den Debugger
nutz mal statt fgetc fgets das liesst automatisch ne ganze zeile bzw ne bestimmte zahl an zeichen, da gab es bis jetzt noch keine Probleme mit und der Code wird einfacher
Gruss MichaelGrüß die Welt, dann grüßt sie dich!
Keine Panik, die Titanic ist schon gesunken!
-
29.11.05 15:03 #3jsendrow Tutorials.de Gastzugang
In deiner Leseschleife setzt Du i=0 wenn ein Zeilenumbruch erreicht wird:
Code :1 2 3 4 5 6 7
buf[i]=fgetc(input); i++; if (buf[i-1]=='\n') { j++; i=0; }
Danach setzt du
Code :1
buf[i]=0;
So, jetzt die Preisfrage. Warum ist buf[0] wohl 0 ?
-
Hmm,
Ok ebenfalls nicht gesehen. aber mit dem Debugger hät Wu-mc es auch gemerkt
Gruss MichaelGrüß die Welt, dann grüßt sie dich!
Keine Panik, die Titanic ist schon gesunken!
-
ach verdammt, hast recht... so was blödes und ich mach da ewig rum. Tja vor lauter Bäumen *g*
Vielen Dank
Ähnliche Themen
-
Zahl aus Datei ab Zeichen einlesen
Von stevieda im Forum C/C++Antworten: 14Letzter Beitrag: 17.02.09, 15:05 -
cin.get(ch) einlesen von Zeichen
Von Roncalli im Forum C/C++Antworten: 4Letzter Beitrag: 11.01.09, 14:38 -
WinAPI: 3 Zeichen einlesen
Von Eisi_GolBay im Forum C/C++Antworten: 3Letzter Beitrag: 30.04.07, 10:33 -
Binäre Datei einlesen funktioniert nicht
Von cesupa im Forum C/C++Antworten: 0Letzter Beitrag: 01.05.06, 15:10 -
zeichen auf cout einlesen
Von bruaderherz im Forum C/C++Antworten: 2Letzter Beitrag: 31.07.04, 17:59





Zitieren
Login






