Verbose-Flag, wie macht man das?

lano

Aktives 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 <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.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 <stdio.h>
#include <stdlib.h>
#include <unistd.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");
}
 
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.
 
Zurück
Oben Unten