[C] Konstante im String

Hallo,

wie kann ich eine Konstante in einem String verwenden, also in dieser Art

#define NACHKOMMASTELLEN 2

printf("%.NACHKOMMASTELLENf", wert);

ohne dass er mir dieses Wort dann einfach ausdruckt.

MfG Bruno

printf("%.NACHKOMMASTELLENf", wert);

So gar nicht, du mußt den String über die entsprechenden Funktionen zusammenbauen, irgendwie ungefähr so:

char sFormat[10];
strcpy( sFormat, „%.“ );
strcat( sFormat, NACHKOMMASTELLEN );
strcat( sFormat, „f“ );
printf( sFormat, wert );

Grüße, Robert

Hi Bruno :wink:

#define NACHKOMMASTELLEN 2
printf("%.NACHKOMMASTELLENf", wert);

Nahe dran, versuch’s mal so:

printf("%.*f",NACHKOMMASTELLEN,wert);

Das Sternchen wirkt hier als Platzhalter für ein int-Argument.

Ist C nicht geil ?!

cu Stefan.

Nahe dran, versuch’s mal so:

Verzeihts mir die Fehlinformation (bzw. den umständlicheren Weg), ich hätte nur gedacht, dass er das nicht checkt, dass er eingefügte wieder neu im Format-String interpretieren muss. :o)

Grüße, Robert

Hi Robert :wink:)

Wieso Fehlinformation?!

Dein Vorschlag funktioniert doch auch …

cu Stefan.

Wieso Fehlinformation?!
Dein Vorschlag funktioniert doch auch …

Jo eh, die Fehlinformation war eher das „gar nicht, dass mußt du vorher …“.

o)

Grüße, Robert