RONIN
Level-3
- Beiträge
- 2.518
- Reaktionspunkte
- 765
-> Hier kostenlos registrieren
Hallo an alle.
Ich scheitere in WinCC v7.4SP1Upd4 gerade daran einen csv-String zu verarbeiten. Bin zugegebenermaßen auch nicht geübt da darin.
Der Code sieht in etwa so aus:
Als Ergebnis bekomme ich dann
Wie man sieht liefert hört sscanf nachdem es den ersten String gefunden hat einfach auf.
Ich denke es wird am Formatstring liegen, hab auch schon alles mögliche probiert. Komm aber nicht drauf.
Vielleicht weiß jemand was ich probieren müsste. Danke.
Ich scheitere in WinCC v7.4SP1Upd4 gerade daran einen csv-String zu verarbeiten. Bin zugegebenermaßen auch nicht geübt da darin.
Der Code sieht in etwa so aus:
Code:
char buffer[1024];
int result;
[COLOR=#008000]//Zeileninhalt[/COLOR]
char szInhaltZeile[1024]; //gesamte Zeile
char szInhaltZeilenNr[256]; //ZeilenNrstring
char szInhaltBezeichnung[256]; //Bezeichnung
char szInhaltBezeichnung2[256]; //Bezeichnung Sprache 2
char szInhaltIBS[256]; //IBS-Wert
char szInhaltAktuell[256]; //aktueller Wert
[COLOR=#008000]//... Hier zuerst einige Dateioperationen zum Einlesen der Zeilen
//Lesen der Zeile aus dem File[/COLOR]
fgets(buffer, 1024, pFile);
printf("Buffer %s\n", buffer);
[COLOR=#008000]
//In buffer steht dann eine Zeile. Beispiel:[/COLOR]
[COLOR=#008000]//P11;Maximaler Vorrückweg Zwischenspeicher Fremdaufgabe [1/10s];...;10;10[/COLOR]
[COLOR=#008000]//Versuch an die Komponenten zu kommen[/COLOR]
result = sscanf(buffer, "%[^;],%[^;],%[^;],%[^;],%[^\n]", szInhaltZeilenNr, szInhaltBezeichnung, szInhaltBezeichnung2, szInhaltIBS, szInhaltAktuell);
[COLOR=#008000]
//Print Ergebnis[/COLOR]
printf("Result %d\n", result);
printf("ZeileNr %s\n", szInhaltZeilenNr);
printf("Bez %s\n", szInhaltBezeichnung);
printf("Bez2 %s\n", szInhaltBezeichnung2);
printf("IBS %s\n", szInhaltIBS);
Als Ergebnis bekomme ich dann
Code:
[COLOR=#008000]//Print Ergebnis[/COLOR]
Result 1
ZeileNr P11
Bez
Bez2
IBS
Ich denke es wird am Formatstring liegen, hab auch schon alles mögliche probiert. Komm aber nicht drauf.
Vielleicht weiß jemand was ich probieren müsste. Danke.