C Programmieren HASHdefine auch in funktionen
Hallo,
Ich versuche gerade programmieren zu lernen in C und hab leider niemanden den ich fragen kann.
Ich schreib meine Übungen und würde gerne eine "Variable" setzen die vom Präprozessor ersetzt wird, aber auch in Funktionen wie printf.
So hätte ich es mir gedacht:
ist das möglich?
Danke für eure Antworten
LG
Ich versuche gerade programmieren zu lernen in C und hab leider niemanden den ich fragen kann.
Ich schreib meine Übungen und würde gerne eine "Variable" setzen die vom Präprozessor ersetzt wird, aber auch in Funktionen wie printf.
So hätte ich es mir gedacht:
#include <stdio.h>
#define _AUFGABE_ 2.1.2
int main()
{
system("TITLE Aufgabe: _AUFGAE_") //hier soll _AUFGABE_ mit 2.1.2 ersetzt werden
printf("Das ist die Aufgabe _AUFGABE_") //hier soll _AUFGABE_ mit 2.1.2 ersetzt werden
}
ist das möglich?
Danke für eure Antworten
LG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 609897
Url: https://administrator.de/contentid/609897
Ausgedruckt am: 24.11.2024 um 23:11 Uhr
2 Kommentare
Neuester Kommentar
https://tio.run/##S9ZNT07@/185My85pzQlVcGmuCQlM18vw45LOSU1LTMvVSHeMdTN3d ...
Und für das direkte umwandeln von Format-Strings siehe auch sprintf()
https://stackoverflow.com/questions/10820377/c-format-char-array-like-pr ...
Und für das direkte umwandeln von Format-Strings siehe auch sprintf()
https://stackoverflow.com/questions/10820377/c-format-char-array-like-pr ...
Stringliterale werden vom Compiler verkettet
Macronamen mit vorangestelltem Unterstrich sind aber eigentlich per C Standard reserviert und das TITLE Kommando ist selbstverständlich Windows-spezifisch und nicht auf andere Betriebssysteme übertragbar ...
Steffen
#include <stdio.h>
#include <stdlib.h>
#define _AUFGABE_ "2.1.2"
int main(void)
{
system("TITLE Aufgabe: " _AUFGABE_); //hier soll _AUFGABE_ mit 2.1.2 ersetzt werden
puts("Das ist die Aufgabe " _AUFGABE_); //hier soll _AUFGABE_ mit 2.1.2 ersetzt werden
}
Steffen