enregistrement des résultats de l'exécution du programme

Voir le sujet précédent Voir le sujet suivant Aller en bas

enregistrement des résultats de l'exécution du programme

Message  nouveau-programmeur le Mer 4 Mar 2009 - 21:44

Salut,
je voudrais savoir comment enregistrer les résultats d'exécution du programme (ce qui est affiché sur le console). Dois je besoin d'un code?
Pourriez vous m'aider?
Merci par avance

nouveau-programmeur
Bavard
Bavard

Messages : 30
Date d'inscription : 23/02/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: enregistrement des résultats de l'exécution du programme

Message  -ed- le Jeu 5 Mar 2009 - 1:13

nouveau-programmeur a écrit:Salut,
je voudrais savoir comment enregistrer les résultats d'exécution du programme (ce qui est affiché sur le console). Dois je besoin d'un code?
Pourriez vous m'aider?
Merci par avance
Le plus simple est de lancer l'application en faisant une redirection de la sortie vers un fichier (texte)
[DOS/Console Windows]
Code:
C:\> monappli > monfichier.txt
ou
[Console unixoïde]
Code:
* monappli > monfichier.txt
C'est une question de système et non de langage C.


Dernière édition par -ed- le Jeu 5 Mar 2009 - 19:11, édité 1 fois

_________________
C is a sharp tool !

-ed-
Admin
Admin

Messages : 289
Date d'inscription : 26/05/2008
Age : 60
Localisation : Paris 6eme arrondissement (75, France)

Voir le profil de l'utilisateur http://bien-programmer.fr

Revenir en haut Aller en bas

Re: enregistrement des résultats de l'exécution du programme

Message  nouveau-programmeur le Jeu 5 Mar 2009 - 18:26

j'ai pas bien compris.
Pourriez vous m'expliquer d'avantage?la fonction fopen ne marche pas dans ce cas?

nouveau-programmeur
Bavard
Bavard

Messages : 30
Date d'inscription : 23/02/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: enregistrement des résultats de l'exécution du programme

Message  -ed- le Jeu 5 Mar 2009 - 18:52

nouveau-programmeur a écrit:j'ai pas bien compris.
Pourriez vous m'expliquer d'avantage?la fonction fopen ne marche pas dans ce cas?
Il y a 2 manières de procéder.

Soit on demande au système de rediriger la sortie standard (stdout) dans un fichier. Ca se fait en plaçant " > fichier" sur la ligne de commande, comme je l'ai déjà expliqué.

Soit on le fait par programmation en utilisant freopen() au début du programme, qui permet, par exemple, de rediriger le flux stdout dans un fichier texte.
Code:
freopen ("fichier.txt", "w", stdout);

Par exemple :

ce code
Code:

#include <stdio.h>

int main (void)
{
  freopen ("fichier.txt", "w", stdout);
  printf ("Hello world\n");

  return 0;
}
ne produit rien de visible à l'écran :
Code:


Process returned 0 (0x0)  execution time : 0.193 s
Press any key to continue.
Mais il a produit un fichier "fichiet.txt" qui contient :
Code:

Hello world

_________________
C is a sharp tool !

-ed-
Admin
Admin

Messages : 289
Date d'inscription : 26/05/2008
Age : 60
Localisation : Paris 6eme arrondissement (75, France)

Voir le profil de l'utilisateur http://bien-programmer.fr

Revenir en haut Aller en bas

Re: enregistrement des résultats de l'exécution du programme

Message  nouveau-programmeur le Sam 14 Mar 2009 - 23:42

Est ce que c'est possible d'enregistrer le temps d'exécution, les essais réalisés qui sont affichés sur la console?
Quel est le code en c qui permet celà?
Merci!

nouveau-programmeur
Bavard
Bavard

Messages : 30
Date d'inscription : 23/02/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: enregistrement des résultats de l'exécution du programme

Message  -ed- le Dim 15 Mar 2009 - 13:50

nouveau-programmeur a écrit:Est ce que c'est possible d'enregistrer le temps d'exécution, les essais réalisés qui sont affichés sur la console?
Quel est le code en c qui permet celà?
Merci!
Il y a plusieurs méthodes :

1 - ne pas modifier le code.

Lancer l'exécutable avec une redirection de stdout vers un fichier texte :

Code:
monappli > sortie.txt

Les résultats se trouvent alors dans le fichier sortie.txt

2 - ajouter une redirection dans le code.

Au début du main(), on appelle freopen()

http://www.cplusplus.com/reference/clibrary/cstdio/freopen.html

3 - modification lourde du code.

Au lieu de printf ( /*... */), on utlise fprintf (fp, /*... */), en ayat au préalable ouvert fp en mode texte (FILE *fp = fopen ("sortie.txt", "w");

P.S. : J'ai un peu l'impression de me répéter là... Ah, tu parles d'enregistrer les temps annoncés par Code::Blocks ? A ma connaissance, ce n'est pas prévu. Il y a peut être une option de configuration que je ne connais pas.


Dernière édition par -ed- le Mer 18 Mar 2009 - 22:08, édité 1 fois

_________________
C is a sharp tool !

-ed-
Admin
Admin

Messages : 289
Date d'inscription : 26/05/2008
Age : 60
Localisation : Paris 6eme arrondissement (75, France)

Voir le profil de l'utilisateur http://bien-programmer.fr

Revenir en haut Aller en bas

Re: enregistrement des résultats de l'exécution du programme

Message  nouveau-programmeur le Mer 18 Mar 2009 - 21:08

merci;
j'ai essayé cet exemple mais je trouve rien dans le fichier de sortie(ni les valeur entrée par le clavier , ni les sorties).
Pourriez vous m'aider svp?

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

int main()
{
freopen ("myfile.txt","w",stdout);

 /* Déclarations */
 int U[50], V[50]; /* tableaux donnés */
 int N;    /* dimension        */
 int I;    /* indice courant  */
 long PS;  /* produit scalaire */
 /* Saisie des données */
 printf("Dimension des tableaux (max.50) : ");
 scanf("%d", &N );
 printf("** Premier tableau **\n");
 for (I=0; I<N; I++)
    {
    printf("Elément %d : ", I);
    scanf("%d", &U[I]);
    }
 printf("** Deuxième tableau **\n");
 for (I=0; I<N; I++)
    {
    printf("Elément %d : ", I);
    scanf("%d", &V[I]);
    }
 /* Calcul du produit scalaire */
 for (PS=0, I=0; I<N; I++)
      PS += (long)U[I]*V[I];
  /* Edition du résultat */
 printf("Produit scalaire : %ld\n", PS);
 fclose (stdout);

 return 0;
}

nouveau-programmeur
Bavard
Bavard

Messages : 30
Date d'inscription : 23/02/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: enregistrement des résultats de l'exécution du programme

Message  -ed- le Jeu 19 Mar 2009 - 1:02

nouveau-programmeur a écrit:j'ai essayé cet exemple mais je trouve rien dans le fichier de sortie(ni les valeur entrée par le clavier , ni les sorties).
En tapant
2
1
2
3
4
j'obtiens :
Code:

Dimension des tableaux (max.50) : ** Premier tableau **
Elément 0 : Elément 1 : ** Deuxième tableau **
Elément 0 : Elément 1 : Produit scalaire : 11
Nota : il est normal que ce qui a été tapé au clavier, et 'echoisé' par le système, c'est à dire sans passer par stdout) ne se retrouve pas dans le fichier.

En principe, dans un programme de test, on utilise un fichier texte en entrée, qui est lu en appliquant le même principe à stdin :
Code:
freopen (data_in.txt", "r", stdin);

_________________
C is a sharp tool !

-ed-
Admin
Admin

Messages : 289
Date d'inscription : 26/05/2008
Age : 60
Localisation : Paris 6eme arrondissement (75, France)

Voir le profil de l'utilisateur http://bien-programmer.fr

Revenir en haut Aller en bas

Re: enregistrement des résultats de l'exécution du programme

Message  nouveau-programmeur le Jeu 19 Mar 2009 - 12:44

Bonjour,
comment crée le fichier stdin (data_in.txt)?
Merci

nouveau-programmeur
Bavard
Bavard

Messages : 30
Date d'inscription : 23/02/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: enregistrement des résultats de l'exécution du programme

Message  -ed- le Jeu 19 Mar 2009 - 12:56

nouveau-programmeur a écrit:comment crée le fichier stdin (data_in.txt)?
C'est un simple fichier texte. Une commande par ligne

_________________
C is a sharp tool !

-ed-
Admin
Admin

Messages : 289
Date d'inscription : 26/05/2008
Age : 60
Localisation : Paris 6eme arrondissement (75, France)

Voir le profil de l'utilisateur http://bien-programmer.fr

Revenir en haut Aller en bas

Re: enregistrement des résultats de l'exécution du programme

Message  nouveau-programmeur le Jeu 19 Mar 2009 - 13:31

-ed- a écrit:
nouveau-programmeur a écrit:comment crée le fichier stdin (data_in.txt)?
C'est un simple fichier texte. Une commande par ligne
je n'ai pas bien compris.pourriez vous m'expliquer d'avantage.
Merci pour votre compréhension

nouveau-programmeur
Bavard
Bavard

Messages : 30
Date d'inscription : 23/02/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: enregistrement des résultats de l'exécution du programme

Message  -ed- le Jeu 19 Mar 2009 - 14:12

nouveau-programmeur a écrit:
-ed- a écrit:
nouveau-programmeur a écrit:comment crée le fichier stdin (data_in.txt)?
C'est un simple fichier texte. Une commande par ligne
je n'ai pas bien compris.pourriez vous m'expliquer d'avantage.
Merci pour votre compréhension
Si tu veux passer les commandes 1<enter>23<enter>hello<enter>, tu écris un fichier texte qui contient :
Code:

1
23
hello
C'est compliqué ?

_________________
C is a sharp tool !

-ed-
Admin
Admin

Messages : 289
Date d'inscription : 26/05/2008
Age : 60
Localisation : Paris 6eme arrondissement (75, France)

Voir le profil de l'utilisateur http://bien-programmer.fr

Revenir en haut Aller en bas

Re: enregistrement des résultats de l'exécution du programme

Message  nouveau-programmeur le Jeu 19 Mar 2009 - 16:03

Avec le compilateur peut -on crée un fichier de données ? Sinon quel logiciel(word pad, non)?

nouveau-programmeur
Bavard
Bavard

Messages : 30
Date d'inscription : 23/02/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: enregistrement des résultats de l'exécution du programme

Message  -ed- le Jeu 19 Mar 2009 - 20:18

nouveau-programmeur a écrit:Avec le compilateur peut -on crée un fichier de données ? Sinon quel logiciel(word pad, non)?
Avec un compilateur non, mais avec l'outil (l'éditeur) que tu utilises pour créer un fichier C, oui. il suffit de lui donner le nom que tu veux.

_________________
C is a sharp tool !

-ed-
Admin
Admin

Messages : 289
Date d'inscription : 26/05/2008
Age : 60
Localisation : Paris 6eme arrondissement (75, France)

Voir le profil de l'utilisateur http://bien-programmer.fr

Revenir en haut Aller en bas

Re: enregistrement des résultats de l'exécution du programme

Message  nouveau-programmeur le Jeu 19 Mar 2009 - 23:41

Bravo king ed.
C'est très clair maintenant.
Merci!

nouveau-programmeur
Bavard
Bavard

Messages : 30
Date d'inscription : 23/02/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: enregistrement des résultats de l'exécution du programme

Message  Contenu sponsorisé Aujourd'hui à 21:18


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum