recuperer le flux envoye par un autre programme && Redmon

recuperer le flux envoye par un autre programme && Redmon - C - Programmation

Marsh Posté le 20-05-2005 à 09:53:52    

Bonjour,
 
Désolé avec cette question de newb mais je comprends pas tout, alors je m'en remets à vos ames charitables.
 
Je suis sous Windows et j'utilise Redmon (petit logiciel pour rediriger des ports imprimantes).
 
Dans la doc Redmon, il est marqué ceci:
"Using RedMon you create a redirected printer port. If you connect a Windows printer driver to the redirected printer port, all data sent to the redirected port will be forwarded by RedMon to the standard input of a program."
 
 
Donc je voudrais créer un programme en C ou C++ qui me permets de recuperer ce fameux flux d'entree.
J'ai cree un truc du style:
 
#include <stdio.h>  
int main()  
 {int c;
  FILE *f;
   
  f=fopen("c:\\test2.prn","w" );
  while((c=fgetc(stdin))!=EOF)
   {fputc(c,f);  
   }
  return(1);
 }
 
qui en fait doit recuperer le flux stdin et le copier dans un fichier.
 
 
Mais j'ai pas l'impression qu'il recupere toutes les données.
 
Quelqu'un peut-il me conseiller?
 
Merci
 
 
 
 
 
 
 
 
 

Reply

Marsh Posté le 20-05-2005 à 09:53:52   

Reply

Marsh Posté le 21-05-2005 à 12:54:00    

gwenaeld a écrit :

Bonjour,
 
Désolé avec cette question de newb mais je comprends pas tout, alors je m'en remets à vos ames charitables.
 
Je suis sous Windows et j'utilise Redmon (petit logiciel pour rediriger des ports imprimantes).
 
Dans la doc Redmon, il est marqué ceci:
"Using RedMon you create a redirected printer port. If you connect a Windows printer driver to the redirected printer port, all data sent to the redirected port will be forwarded by RedMon to the standard input of a program."
 
 
Donc je voudrais créer un programme en C ou C++ qui me permets de recuperer ce fameux flux d'entree.
J'ai cree un truc du style:
 
#include <stdio.h>  
int main()  
 {int c;
  FILE *f;
   
  f=fopen("c:\\test2.prn","w" );
  while((c=fgetc(stdin))!=EOF)
   {fputc(c,f);  
   }
  return(1);
 }
 
qui en fait doit recuperer le flux stdin et le copier dans un fichier.
 
 
Mais j'ai pas l'impression qu'il recupere toutes les données.
 
Quelqu'un peut-il me conseiller?
 
Merci


 
Si ton flux entrant contient des caractères ascii non-imprimables alors faut que tu ouvres ton fichier (fopen) en mode "wb"
 
Vérifie aussi si le fopen échoue (si "f" est nul alors tu quittes ton programme)


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 23-05-2005 à 09:31:23    

D'ac, c'est vrai que j'avais fait ça à l'arrache. Mais ce que je voulais savoir c'est si par cette méthode on était capable de récupérer tout le flux et pas seulement une partie.  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed