Forum: PC-Programmierung PRINT Makro erstellen


von quarzpen_ner (Gast)


Lesenswert?

hi,

in meinem Programm wird für die Ausgabe eine Makro verwendet.
Man soll es der Ausgabe definieren die man haben möchte.
So etwa steht das im Code:
1
PRINT("das ist ein text mit unbekannter anzahl %x von lückenfüllern %d",anz,zahl)
1
PRINT("das ist ein text mit unbekannter anzahl %x von lückenfüllern ",anz)
Lustigerweise können dort mehrere Variablen drinne stehen.
Irgendwie würde ich gerne den Text nehmen und dann dort die Parameter 
reinschreiben lassen. Nur das muss irgendwie je nach Parameteranzahl 
erfolgen...:
1
#define PRINT(text, parameter2,parameter3)
2
 char text_c[100]; /
3
 sprint(text_c,"text");/
4
printit(text);/

von Programmierer (Gast)


Lesenswert?


Beitrag #6905817 wurde von einem Moderator gelöscht.
Beitrag #6905818 wurde von einem Moderator gelöscht.
von quarzpen_ner (Gast)


Lesenswert?

besten dank für die Antwort :D Ich versuche es mal anzuwenden!
Das wäre echt cool wenn es klappt

von quarzpen_ner (Gast)


Lesenswert?

das sieht auf den **ersten** Blick einfacher aus:
https://openbook.rheinwerk-verlag.de/c_von_a_bis_z/018_c_stdarg_h_004.htm

von quarzpen_ner (Gast)


Lesenswert?

Danke,
mein erster Test funktioniert:
1
/******************************************************************************
2
                           Online C Compiler.
3
                Code, Compile, Run and Debug C program online.
4
Write your code in this editor and press "Run" button to compile and execute it.
5
6
*******************************************************************************/
7
char test[123];
8
#define MAKRO(...) sprintf(test, __VA_ARGS__); printf("\n[debug]%s\n",test); 
9
#include <stdio.h>
10
11
int main()
12
{
13
    printf("Hello World");
14
     MAKRO("zahl%d",2);
15
     printf("result:%s",test);
16
    return 0;
17
}

Ausgabe:

Hello World
[debug]zahl2
result:zahl2

...Program finished with exit code 0
Press ENTER to exit console.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.