Redirection de la sortie vers un fichier [Résolu]

Messages postés
17
Date d'inscription
mardi 30 septembre 2014
Dernière intervention
21 janvier 2015
- - Dernière réponse :  patchouramria - 30 janv. 2015 à 16:53
Salut mes amis,
j'aimerai envoyer les resultats de mon programme lors de l'execution(le resultat affichée sur le console) vers une fichier texte, je fait une recherche mais je ne trouve rien concernant le langage C.
merci de m'aider :)
Afficher la suite 

Votre réponse

4 réponses

Messages postés
3830
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
19 novembre 2018
0
Merci
Bonjour.

Si tu es en ligne de commande, tu lances ton exécutable et tu ajoutes un "> fichier".
Exemple:

Windows:

programme.exe > monfichier.txt


Linux:

./programme > monfichier.txt


Si tu veux le faire en C, tu peux t'en sortir à coup de "dup()" et "dup2()", mais c'est bien trop compliqué pour ton niveau actuel.
Le mieux est d'utiliser des fichiers directement (via fopen) au lieu d'écrire sur la sortie standard.

__________________________________________________________________________________________________

Améliorez votre expérience CodeS-SourceS avec ce plugin:
http://codes-sources.commentcamarche.net/forum/affich-10000111-plugin-better-cs-2#cptpingu-signature
Commenter la réponse de cptpingu
Messages postés
17
Date d'inscription
mardi 30 septembre 2014
Dernière intervention
21 janvier 2015
0
Merci
merci beaucoup :)
Commenter la réponse de patchouramria
Messages postés
5305
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
12 décembre 2018
0
Merci
Salut,

Sinon en C et sans passer par "dup" tu peux également utiliser la fonction "freopen"

#include <stdio.h>
#include <stdlib.h>

void print_str(const char* str) {
  printf("%s", str);
}

void myexit(void) {
  fclose(stdout);
}

int main(int argc, char** argv) {
  FILE *out = freopen("./out.txt", "w", stdout);
  if (!out) { 
    perror("freopen"); 
    exit (EXIT_FAILURE); 
  } 
  stdout = out;// maintenant stdout ira dans le fichier out.txt
  // pour fermer proprement le fichier.
  atexit(myexit);

  // affichage en direct
  printf("Test 1\n");
  // en passant par une fonction
  print_str("Test 2\n");

  return EXIT_SUCCESS;
}

Commenter la réponse de Twinuts
Commenter la réponse de patchouramria

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.