Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Das mit der for-schleife hab ich ich schon festgestellt.
Es war jetzt auch nur um zu zeigen, wie ich das meinte.

 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ich brauch hier nochmal Hilfe:

Wie krieg ich es hin das ich

farbe("Die %i Texte '%s' und '%s' sollen rot werden", FARBE, Integer, String, String);

Also im Prinzip die printf()-Funktion nur mit dem zusätzlichen Parameter "Farbe"?

Kann ich da einfach aus der stdio.h die Funktion rauskopieren und versuchen da noch die Farbe mit einzubauen?

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

So einfach wird das nicht gehen, da der Code nicht in stdio.h steht. Ob es den irgendwo gibt, weiß ich gerade auch nicht. In den *.h files steht ja nur die Deklaration.
Vielleicht fällt mir später noch was dazu ein.

So gehts:

void printf_color( int color, char* fmt, ... )
{
   SetConsoleTextAttribute( hConsole, color);

   va_list args; 
   va_start( args, fmt ); // fmt ist der letzte Parameter vor "..."
   vprintf( fmt, args );
   va_end( args );

   SetConsoleTextAttribute( hConsole, 7 );
}

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Super ;D

Vielen dank.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
void printf_color( int color, char* fmt, ... )
{
   SetConsoleTextAttribute( hConsole, color);

   va_list args;
   va_start( args, fmt ); // fmt ist der letzte Parameter vor "..."
   vprintf( fmt, args );
   va_end( args );

   SetConsoleTextAttribute( hConsole, 7 );
}

wenn ich die Funktion jetzt aufrufe, stürzt das Programm ab.

printf_color(10,"das ist test %i",6);

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

an der Funktion liegts nicht, die ist in Ordnung.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

dann liegt das am compiler.
glaub ich.

Die Funktion steht in einer anderen Datei.
Wenn die Funktion in der sleben Datei steht geht es.

Komisch.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Das ist in der Tat merkwürdig. Normalerweise sollte es dann ja einen Compiler-/Linkerfehler geben...

Wie hast du die andere Datei denn eingebunden?

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ich benutze den Dev-CPP.

ich habe eine Datei, die printf_color.c heißt.
Die andere heißt farbe.c

in farbe.c habe ich die printf_color.c so eingebunden:
void printf_color(int farbe, char*fmt, ...);

main()
{....}


Wenn ivh beide Dateien aber einem Projekt zugeordnet habe, geht es.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hmm, sehr merkwürdig. Bei mir gibt er da einen Linkerfehler (undefined reference). So sollte es auch eigentlich sein. Wenn ich die printf_color.c über #include "printf_color.c" einbinde funktioniert alles.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Also bei Projekten geht das alles.

Und wenn ich jetzt einzelne Dateien einbinden möchte, muss ich die über #include einbinden.
Naja...hauptsache es geht ;D


« Objektorientierte Programmiersprache!? rot13 usw. »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Grundstrich
Der Begriff des Grundstrichs im Bereich der Typografie, bezeichnet den senkrechten Strich der Buchstaben. Bei Schriftarten mit variabler Strichstärke, wie zum Beispi...

Haarstrich
Der Begriff Haarstrich stammt aus dem Bereich der Typographie. Bei Schriften, wie zum Beispiel der Antiquaschrift mit unterschiedlichen Strichstärken, wird zwischen ...

Generations-Prinzip
Das Generations-Prinzip wird auch als das "Opa-Vater-Sohn-Prinzip" bezeichnet. Dieses Rotationsschema zur Speicherung von Daten ist eine überschreibende Datensicheru...