Maison  >  Article  >  développement back-end  >  Explication détaillée de l'utilisation de la fonction freopen

Explication détaillée de l'utilisation de la fonction freopen

hzc
hzcoriginal
2020-06-18 16:41:5710657parcourir

Explication détaillée de l'utilisation de la fonction freopen

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; 
}

La fonction freopen accède aux fichiers en implémentant la fonction de redirection d'E/S standard, tandis que la fonction fopen accède aux fichiers via les E/S de fichiers.

La fonction freopen est souvent utilisée dans les compétitions d'algorithmes. Dans les concours d'algorithmes, les données des candidats doivent généralement être saisies plusieurs fois, et pour éviter des saisies répétées, une redirection est utilisée.

La fonction freopen est très utile en débogage :

freopen("debug\in.txt", "r", stdin) consiste à rediriger le flux d'entrée standard stdin vers debug\in . txt, de sorte que lors de l'utilisation de scanf ou cin pour la saisie, les données ne seront pas lues à partir du flux d'entrée standard, mais l'entrée sera obtenue à partir du fichier in.txt.

Tant que vous collez à l'avance les données d'entrée dans in.txt, cela sera beaucoup plus pratique lors du débogage.

De même, la fonction de freopen("debug\out.txt","w",stdout) est de rediriger la sortie standard vers le fichier debug\out.txt, de sorte que le résultat de sortie doive ouvrir la sortie Fichier .txt Vérifiez.

Ce qui doit être expliqué est :

1. Dans freopen("debug\in.txt","r",stdin), placez le fichier d'entrée in.txt dans le dossier debug , le dossier de débogage est un dossier de débogage généré automatiquement lors de la création d'un fichier projet dans VC. S'il est remplacé par freopen("in.txt","r",stdin), le fichier in.txt sera placé dans le dossier du projet créé. Le fichier in.txt peut également être placé dans d'autres dossiers, à condition que le chemin soit écrit correctement.

2. Vous pouvez toujours visualiser la sortie sur la console sans utiliser la redirection de sortie. 3. Une fois le programme débogué avec succès, n'oubliez pas de supprimer les instructions liées à la redirection lors de sa soumission à oj.

Tutoriel recommandé : "c"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn