Grüssi!
Date;Wert1;Wert2;...
1.99;45776;76887;...
2.99;65858986;98797;...
Wie kann ich das Programm schreiben, das es nicht die Leerzeichen als Ende bzw.
Anfang der strings erkennt, sondern die ";" SEMIKOLONS.
Du kannst die Datei zeilenweise einlesen (fgets) und dann bei ';' splitten (strtok):
FGETS:
while (fgets(line,sizeof(line),sf) != NULL) { [...] }
http://www.cplusplus.com/ref/cstdio/fgets.html
STRTOK:
for (p=strtok(line, SEPERATORS); p!=NULL; p=strtok(NULL,SEPERATORS)) { [...] }
http://www.cplusplus.com/ref/cstring/strtok.html
Da C++ schon ein paar Jährchen zurückliegt kann ich nix garantieren, und C liegt noch einige Jährchen mehr zurück ;-) Und da ich weder C noch C++ Compiler habe, hab ich es in php ausprobiert ;-)
<?
$string = "This;is;an;example;string";
$tok = strtok ($string,";");
// Hier wird der String gesplittet in "This" und "is;an;example;string"
while ($tok) { // solange es ein $tok gibt das != NULL ist
echo "Word=$tok<br>"; // beim ersten durchlauf: "This"
$tok = strtok (";"); // 1. Durchlauf: "is;an;example;string" wird gesplittet
// in "is" und "is;an;example;string"
// Beim 2. DL wird "is" ausgegeben, und der String weiter gesplittet
}
?>
In C/C++ gehts genauso. Wichtig ist nur, dass zweimal gesplittet wird!
lg bernhard