PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : String zerlegen + unsichtbare eingabe



basti1985
05-06-2007, 17:32
zumächst die frage wie ich einen string den ich beispielsweise mit fgets() zeilenweise aus einer datei lese zerlegen kann ...

(Artikelname; -Nummer; Stk.; Preis (jede Zeile == neuer datensatz))
beispiel-datei:

Stifte;0123;80;2.50;
Block;2345;20;0.80;
Lineal;4789;25;0.30;

um es dann etwa so aus zu geben ohne die Beispieldatei zu bearbeiten (ändern):

Artikelname -Nummer Stk Preis Gesamt
... ... ... ... Stk * Preis
... ... ... ... Stk * Preis
... ... ... ... Stk * Preis


Ferner noch eine andere Frage wie ich eine eingabe
Bsp.: 1234

unsichtbar, sprich zu **** machen kann ??

vielen dank
mfg

Thomas Engelke
06-06-2007, 14:45
Stifte;0123;80;2.50;
Block;2345;20;0.80;
Lineal;4789;25;0.30;

Also ungefähr sowas:


char *zeile, *temp, *ausgabe;

<Zeile einlesen>
temp=zeile;
for(;*temp!=';';temp++);
*temp='\0';
printf("%s",zeile);


Den letzten Teil kannst du entsprechend für die weiteren Teile des char* weiterführen.

Ansonsten gibt es auch noch strtok, das dir Zeichenketten zerlegen kann.

TME

nul
06-06-2007, 16:36
Ich glaube er braucht da eher strtok.

man strtok
gibt auskunft

basti1985
21-06-2007, 07:33
strtok ging bei mir nur mit leerzeichen...
doch das erste werd ich mal versuchen ...
danke erstma

nul
21-06-2007, 11:06
man strtok,
das Trennzeichen kann man uebergeben.