bprintf
-
Dieser Thread wurde von Moderator/in akari aus dem Forum VCL (C++ Builder) in das Forum C (C89 und C99) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
int i=0; ... while(array[i-1] != -1)
Fällt dir da was auf?
-
ja, das war mir vorn schon aufgefallen,hab daraus ne do while gemacht.
Das schlimme war aber das ich beiva_start(ap,*ausgabe);
*ausgabe hatte anstatt nur ausgabe.
Edit: Kann man eigentlich abfragen wieviel Parameter übergeben werden? Ich hab ja jetzt erstma sobald -1 kommt, das die Parameter ende sind. Aber in printf muss man sowas ja nicht angeben.
-
Mogimogwai schrieb:
Edit: Kann man eigentlich abfragen wieviel Parameter übergeben werden? Ich hab ja jetzt erstma sobald -1 kommt, das die Parameter ende sind. Aber in printf muss man sowas ja nicht angeben.
In C nicht.
printf erkennt das an der Anzahl der Formatspecifier.
-
Gut, dann zähle ich einfach wie oft %b,%d usw. vorkommt und nimm die zahl als max. Wert. Vielen Dank soweit ersmta.
-
Aber aufpassen: Es gibt innerhalb der Formatspecifier noch den *.
Damit kannst du dei Feldlänge noch als Parameter mit übergeben.
Also stattprintf("%8d", 4711);
dann
printf("%*d", 8, 4711);
Genaueres unter http://www.cplusplus.com/reference/clibrary/cstdio/printf/
-
uh, das ist ja noch gemein.
Werd ich nach mein jetzigen Problem gleich mal probieren ob ich das beachtet bekomme.
Aber immo hänge ich daran das ich mein array nicht ins printf("array",wert1,wert2)
übergeben bekomme.
Weil wenn ich es ohne " " übergeb meldet er logischerweise syntax fehler, aber mit z.b "%c",array[index] verarbeitet er ja die %c usw. im array nicht mehr.Ist das überhaupt möglich?
-
Mogimogwai schrieb:
uh, das ist ja noch gemein.
Werd ich nach mein jetzigen Problem gleich mal probieren ob ich das beachtet bekomme.
Aber immo hänge ich daran das ich mein array nicht ins printf("array",wert1,wert2)
übergeben bekomme.
Weil wenn ich es ohne " " übergeb meldet er logischerweise syntax fehler, aber mit z.b "%c",array[index] verarbeitet er ja die %c usw. im array nicht mehr.Ist das überhaupt möglich?
-
Versuch ich mal als Beispiel es zu erklären:
Die Funktion rufe ich so z.b auf:bprintf("%d ist in Binär %b!\n",a,a);
die Funktion bprintf macht daraus:
printf("%d ist in Binär 0111!\n",a);
und printf macht dann halt seine Aufgabe und gibt in der Konsole aus:
7 ist in Binär 0111!
*CursorHier*printf("part1",part2)
Zusammengefasst muss ich ja part1 und part 2 printf übergeben. Ist dies überhaupt möglich?
-
auf die einfachste Lösung komm ich türlich net.
Ich kann es einfach so übergebenprintf(array,werte);