verbose Flag, wie macht man das?

lano

Mitglied
Moin.

Ich wollte meinem Programm nen paar mehr Ausgaben hinzufügen, das es halt nen bisschen gesprächiger wird.
Nu scheiter ich daran. wenn ich das allerdings aufs nötigste runterkürze funktionierts.

Daher meine Frage, kann man das generell so machen. Macht man das so ?

Ich hab das mal auf ein paar Zeilen zusammen gefasst:

C:
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#include "verbose_flag.h"

int main (int argc, char *argv[], char *envp[]) {

    if(strcmp(argv[1],"--verbose")==0) verbose_flag = 1;

    if (verbose_flag) printf("huhuhu main\n");

    foo();
    if (verbose_flag) printf("foo beendet\n");
    bar();
    if (verbose_flag) printf("bar beendet\n");

return EXIT_SUCCESS;
}
C:
#ifndef HEADER_verbose_flag
#define HEADER_verbose_flag

    static unsigned int verbose_flag = 0;

    void foo();
    void bar();

#endif
C:
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>

#include "verbose_flag.h"

    /* foo */
    void foo() {
        if(verbose_flag) printf("begin foo\n");
        printf("Irgendwas in foo\n");
    }

    /* bar */
    void bar() {
        if(verbose_flag) printf("begin bar\n");
        printf("Irgendwas in bar\n");
    }
 

BAGZZlash

Neues Mitglied
Pinzipiell würde ich das wohl auch so ähnlich machen. Das Einzige ist, ich würde den User nicht zwingen, --verbose als erstes Argument zu übergeben.
 

Mat

Mitglied
Könntest auch noch eine eigene printf-Funktion schreiben, die du anstelle von printf aufrufst. Sonst musst du jedes mal die flag abfragen.
 
Oben Unten