enregistrement des résultats de l'exécution du programme
2 participants
Page 1 sur 1
enregistrement des résultats de l'exécution du programme
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
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
- Messages : 30
Date d'inscription : 23/02/2009
Re: enregistrement des résultats de l'exécution du programme
Le plus simple est de lancer l'application en faisant une redirection de la sortie vers un fichier (texte)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
[DOS/Console Windows]
- Code:
C:\> monappli > monfichier.txt
[Console unixoïde]
- Code:
* monappli > monfichier.txt
Dernière édition par -ed- le Jeu 5 Mar 2009 - 19:11, édité 1 fois
Re: enregistrement des résultats de l'exécution du programme
j'ai pas bien compris.
Pourriez vous m'expliquer d'avantage?la fonction fopen ne marche pas dans ce cas?
Pourriez vous m'expliquer d'avantage?la fonction fopen ne marche pas dans ce cas?
nouveau-programmeur- Bavard
- Messages : 30
Date d'inscription : 23/02/2009
Re: enregistrement des résultats de l'exécution du programme
Il y a 2 manières de procéder.nouveau-programmeur a écrit:j'ai pas bien compris.
Pourriez vous m'expliquer d'avantage?la fonction fopen ne marche pas dans ce cas?
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;
}
- Code:
Process returned 0 (0x0) execution time : 0.193 s
Press any key to continue.
- Code:
Hello world
Re: enregistrement des résultats de l'exécution du programme
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!
Quel est le code en c qui permet celà?
Merci!
nouveau-programmeur- Bavard
- Messages : 30
Date d'inscription : 23/02/2009
Re: enregistrement des résultats de l'exécution du programme
Il y a plusieurs méthodes :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!
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
Re: enregistrement des résultats de l'exécution du programme
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?
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
- Messages : 30
Date d'inscription : 23/02/2009
Re: enregistrement des résultats de l'exécution du programme
En tapantnouveau-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).
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
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);
Re: enregistrement des résultats de l'exécution du programme
Bonjour,
comment crée le fichier stdin (data_in.txt)?
Merci
comment crée le fichier stdin (data_in.txt)?
Merci
nouveau-programmeur- Bavard
- Messages : 30
Date d'inscription : 23/02/2009
Re: enregistrement des résultats de l'exécution du programme
C'est un simple fichier texte. Une commande par lignenouveau-programmeur a écrit:comment crée le fichier stdin (data_in.txt)?
Re: enregistrement des résultats de l'exécution du programme
je n'ai pas bien compris.pourriez vous m'expliquer d'avantage.-ed- a écrit:C'est un simple fichier texte. Une commande par lignenouveau-programmeur a écrit:comment crée le fichier stdin (data_in.txt)?
Merci pour votre compréhension
nouveau-programmeur- Bavard
- Messages : 30
Date d'inscription : 23/02/2009
Re: enregistrement des résultats de l'exécution du programme
Si tu veux passer les commandes 1<enter>23<enter>hello<enter>, tu écris un fichier texte qui contient :nouveau-programmeur a écrit:je n'ai pas bien compris.pourriez vous m'expliquer d'avantage.-ed- a écrit:C'est un simple fichier texte. Une commande par lignenouveau-programmeur a écrit:comment crée le fichier stdin (data_in.txt)?
Merci pour votre compréhension
- Code:
1
23
hello
Re: enregistrement des résultats de l'exécution du programme
Avec le compilateur peut -on crée un fichier de données ? Sinon quel logiciel(word pad, non)?
nouveau-programmeur- Bavard
- Messages : 30
Date d'inscription : 23/02/2009
Re: enregistrement des résultats de l'exécution du programme
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.nouveau-programmeur a écrit:Avec le compilateur peut -on crée un fichier de données ? Sinon quel logiciel(word pad, non)?
Re: enregistrement des résultats de l'exécution du programme
Bravo ed.
C'est très clair maintenant.
Merci!
C'est très clair maintenant.
Merci!
nouveau-programmeur- Bavard
- Messages : 30
Date d'inscription : 23/02/2009
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|