Bonjour,
prinf() écrit dans stdout, fprintf() écrit dans divers flux en particulier stdout ou stderr.
Pour récupérer les 2 flux, il faut l'indiquer à la fin par 2>&1 (mettre le flux stderr dans stdout):
MonProgramme.exe > text.log 2>&1
Bonjour JeuDuTaquin, bonjour Dalfab, bonjour tous,
Les écritures effectuées avec fprintf() sont prévues dans un fichier
sauf si c'est programmé selon : fprintf(stdout, ...)
Voir : https://cplusplus.com/reference/cstdio/fprintf/
Pour les voir il faudrait ajouter dans le fichier 1_help.bat
une ou plusieurs lignes supplémentaires du genre :
afficheur.exe monfichier.txt
où le programme afficheur.exe lit les lignes de monfichier.txt
et les recopie sur la console avec des utilisations de printf().
Un petit exemple de code source pour programmer afficheur.exe :
-----------------------------------------------------------------
#include <stdio.h> int main(int argc, char **argv) { FILE * pFile; char ligne [10000]; if(argc == 1) { printf("fichier absent \n"); return 1; } pFile = fopen (argv[1],"rb"); if(pFile == NULL) { printf("fichier %s non lu \n", argv[1]); return 1; } while(!feof(pFile)) { fgets(ligne, 9999, pFile); printf("%s", ligne); } fclose (pFile); return 0; }
-----------------------------------------------------------------
On peut aussi utiliser afficheur.exe pour regrouper les lignes
écrites avec fprintf() après celles de printf() en faisant :
MonProgramme.exe > text.log afficheur.exe monfichier.txt >> text.log
D'autres variantes sont possibles.
Cordialement, pgl10
Bonjour à tous les 3.
Dlafab et plg10 comme vous l'avez constaté l'interface de saisie a changé. Les balises de codes ont disparues pour être remplacées par une boite de dialogue d'insertion d'extrait de code.
Voici comment s'en servir efficacement https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Je me suis permis de corriger vos messages.
Bonne journée
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Bonjour Whismeril,
Merci pour ces corrections avec les boites de dialogue d'insertion d'extrait de code.
Mais, j'ai déjà utilisé ce nouveau dispositif dans un message où le résultat
obtenu était en erreur manifeste sans pouvoir corriger cet affichage.
C'est pourquoi maintenant je me méfie de cette utilisation qui fonctionne mal parfois.
Salutations, pgl10
Il y a eu quelques bugs au lancement, à ma connaissance il ne reste que C# et VBscript qui ne fonctionnent pas correctement.
Dans mon cas, c'était avec html :
https://codes-sources.commentcamarche.net/forum/message-2169048-javascript
Ton lien ne mène nulle part
Whismeril,
Mon lien menait jusqu'à un message privé CCM-CS où
j'avais écrit un tout petit fichier en html ayant seulement 9 lignes.
Mais en fait, je m'aperçois maintenant que le problème rencontré
ne concerne pas la boite de dialogue en code html parce que
dans le texte du message ici présent si j'écris : srx="tiny.js"
j'affiche correctement correctement ceci : srx="tiny.js"
par contre, si j'écris : src="" où il y a bien : tiny.js
à l'intérieur de : "" alors j'affiche seulement : src="""
Comprenne qui pourra !
C'est difficile à expliquer !
A suivre, pgl10
Un grand merci à tous.
Il faut donc considèrer l'ensemble des flux d'affichage, d'où la commande DOS :
"c:/monprogramme.exe 1>texte.log" pour "c:/monprogramme.exe>texte.log".
Ici nous affichons le flux principal et "2>&1" les flux secondaires.
Voilà, tout fonctionne.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionSalut,
Il est donc possible de sélectionner les flux de sortie:
"c:/monprogramme.exe 1>texte1.log" ::Flux principal
"c:/monprogramme.exe 2>texte2.log" ::Flux secondaire
ou "c:/monprogramme.exe 1>texte1.log 2>texte2.log"
"c:/monprogramme.exe>texte.log 2>&1" pour tout afficher sur le même fichier.
Encore merci.