Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Verwendung der Freopen-Funktion

Detaillierte Erläuterung der Verwendung der Freopen-Funktion

hzc
hzcOriginal
2020-06-18 16:41:5710721Durchsuche

Detaillierte Erläuterung der Verwendung der Freopen-Funktion

freopen 函数说明

函数名: freopen 
功  能: 实现数据重定向到文件中 
用  法: FILE *freopen(const char *filename, const char *mode, FILE *stream); 
返回值: 成功,则返回文件指针;失败,返回NULL(可以不使用它的返回值) 7 
#include <stdio.h> 

int main(void) 
{ 
   /* redirect standard output to a file */ 
   if (freopen("OUTPUT.FIL", "w", stdout) 
       == NULL) {
      fprintf(stderr, "error redirecting\ 
              stdout\n"); 
  }
   /* this output will go to a file */ 
   printf("This will go into a file."); 

   /* close the standard output stream */ 
   fclose(stdout); 

   return 0; 
}

Die freopen-Funktion greift auf Dateien zu, indem sie die Standard-E/A-Umleitungsfunktion implementiert, während die fopen-Funktion auf Dateien über Datei-E/A zugreift.

Die Freopen-Funktion wird häufig in Algorithmenwettbewerben verwendet. Bei Algorithmenwettbewerben müssen die Daten der Teilnehmer im Allgemeinen mehrmals eingegeben werden. Um eine wiederholte Eingabe zu vermeiden, wird eine Umleitung verwendet.

Die freopen-Funktion ist beim Debuggen sehr nützlich:

freopen("debug\in.txt", "r", stdin) dient dazu, den Standardeingabestream stdin nach debug\in umzuleiten. txt-Datei, sodass bei Verwendung von scanf oder cin zur Eingabe die Daten nicht aus dem Standardeingabestream gelesen werden, sondern die Eingabe aus der in.txt-Datei abgerufen wird.

Solange Sie die Eingabedaten vorab in in.txt einfügen, ist dies beim Debuggen viel praktischer.

In ähnlicher Weise besteht die Funktion von freopen("debug\out.txt","w",stdout) darin, stdout in die Datei debug\out.txt umzuleiten, sodass das Ausgabeergebnis die Ausgabe öffnen muss .txt-Datei prüfen.

Was erklärt werden muss, ist:

1. Platzieren Sie in freopen("debug\in.txt","r",stdin) die Eingabedatei in.txt im Ordner debug , der Debug-Ordner ist ein Debug-Ordner, der beim Erstellen einer Projektdatei in VC automatisch generiert wird. Bei Änderung in freopen("in.txt","r",stdin) wird die in.txt-Datei im erstellten Projektordner abgelegt. Die in.txt-Datei kann auch in anderen Ordnern abgelegt werden, sofern der Pfad korrekt geschrieben ist.

2. Sie können die Ausgabe weiterhin auf der Konsole anzeigen, ohne die Ausgabeumleitung zu verwenden. 3. Nachdem das Programm erfolgreich debuggt wurde, vergessen Sie nicht, die Anweisungen im Zusammenhang mit der Umleitung zu löschen, wenn Sie es an oj senden.

Empfohlenes Tutorial: „c

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung der Freopen-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn