hi rocco,
da du offensichtlich davon ausgehst, dass nach einem "" ein "n" folgt, (also "\n") und du zeichenweise vergleichst, kannst du das nur auf diese art machen. du könntest es allerdings etwas einfacher schreiben:
switch (*tmp) { case '%': tmp++; printf ("%s", expandFmt (*tmp)); break; case '\': tmp++; if (*tmp == '\n') putchar('\n'); tmp++; break; default: /*...*/ }
was einfacheres fällt mir auf anhieb nicht ein. falls du mehrere sonderzeichen mit vorangestelltem "" behandeln willst, bietet es sich an, eine inline-funktion zu schreiben, das das auf das "" folgende zeichen behandelt. wenn dir das auch nicht zusagt, kannst du dir ja ansehen, wie es die entwickler der libc bei printf usw. gelöst haben.
mfg, jan
On Wed, Dec 11, 2002 at 12:12:48PM +0100, "Wätzig, Jan" wrote:
hi rocco,
da du offensichtlich davon ausgehst, dass nach einem "" ein "n" folgt, (also "\n") und du zeichenweise vergleichst, kannst du das nur auf diese art machen. du könntest es allerdings etwas einfacher schreiben:
In der Zeichenkette ist \ und n, also zwei Zeichen.
switch (*tmp) { case '%': tmp++; printf ("%s", expandFmt (*tmp)); break; case '\': tmp++; if (*tmp == '\n')
Du willst aber hier mit \n (ein Zeichen) vergleichen. Dat geht nicht. Jedenfalls n ichtd in diesem Sinne.
Best regards from Dresden Viele Gruesse aus Dresden Heiko Schlittermann
lug-dd@mailman.schlittermann.de