Vis printf-output i konsol og log til tekstfil samtidig i C på Windows

Hvordan kan output fra printf i et C-program på Windows både vises i konsollen og logges i en tekstfil samtidig?

For at få output fra printf i et C-program på Windows til både at vises i konsollen og logges i en tekstfil samtidig, kan du omdirigere standard output til en fil med freopen og bruge en brugerdefineret funktion som dual_print til at skrive til begge steder.

Hvordan kan output fra printf i et C-program på Windows både vises i konsollen og logges i en tekstfil samtidig?

For at få output fra printf i et C-program på Windows til både at vises i konsollen og logges i en tekstfil samtidig, kan du følge disse trin:

  1. Omdiriger output til en fil:
    • Brug freopen til at omdirigere standard output (stdout) til en fil.
    • Eksempel:
      freopen("logfile.txt", "w", stdout);
  2. Brug en funktion til at skrive til både konsol og fil:
    • Opret en brugerdefineret funktion, der skriver til både konsol og fil.
    • Eksempel:
      
      void dual_print(const char *format, ...) {
          va_list args;
          va_start(args, format);
      
          // Print to console
          vprintf(format, args);
      
          // Print to file
          FILE *file = fopen("logfile.txt", "a");
          if (file != NULL) {
              vfprintf(file, format, args);
              fclose(file);
          }
      
          va_end(args);
      }
              
  3. Erstat printf med den brugerdefinerede funktion:
    • Brug den nye dual_print funktion i stedet for printf.
    • Eksempel:
      dual_print("Dette er en test: %d
      ", 42);

Ved at følge disse trin kan du sikre, at output fra dit C-program både vises i konsollen og logges i en tekstfil samtidig.

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker