C Array Leerzeichen überprüfung

@Kenterfie:
Nun ja, bei dir gehts ja schon in die C++ Richtung mit std::string . Will erst nochmal C auffrischen!

So habe das Programm nochmal entschlackt:

Code:
#include <stdio.h>
#include <string.h>

// Funktion initialisieren
char wandle_um(char *);

int main()
{ 
char zeichenkette[]="eins, zwei, drei, vier, fuenf, sechs, sieben, acht, neun, null";

wandle_um(zeichenkette);

getchar();
}

char wandle_um(char *zk)
{
	char * pch;
	pch = strtok (zk," ,.-");
	while (pch != NULL)
	{
    printf ("%s ",pch);
    pch = strtok (NULL, " ,.-");
	}
return 0;
}

Jetzt wird zumindest schon mal das Feld zeichenkette OHNE Kommata ausgegeben. Fehler kommen soweit auch keine mehr. Nun frage ich mich trotzdem wie ich die Zahlen im Feld am besten "umwandle". Gebt mir nen Tipp! Irgendwie muss man das doch mit einer Switch-Case Anweisung realisieren können.

Würde hier eigentlich nur ungern strcmp benutzen, weil sonst das ganze Programm nur aus vorgegeben C Funktionen besteht. :cool_alt:
 
NephTis schrieb:
Irgendwie muss man das doch mit einer Switch-Case Anweisung realisieren können.
Kann man eben nicht! C kann einfach kein switch auf Strings. Punkt.

NephTis schrieb:
Würde hier eigentlich nur ungern strcmp benutzen, weil sonst das ganze Programm nur aus vorgegeben C Funktionen besteht. :cool_alt:
"strcmp" ist, genau wie "strtok", die du ja schon verwendest, eine Funktion aus der Standard C Library. Mehr Standard geht in C fast nicht. :p
Benutzen musst du sie natürlich nicht. Du kannst auch selbst Zeichenweise durchlaufen und vergleichen. Völlig unnötiger Aufwand da "strcmp" eben genau das macht, aber wenn du meinst... :rolleyes:
 
Zurück
Oben