Bp de CGI en C (donc pb de C :) )

Bp de CGI en C (donc pb de C :) ) - Programmation

Marsh Posté le 15-05-2001 à 16:00:13    

Je fais un script cgi qui envoit des fichiers.
J'ouvre donc mon fichier en mode binaire, je le lis, et je renvoi les données vers la sortie standard (stdout). Le problème est que la sortie standard est ouverte en mode texte, et donc lorsque j'ecris dessus, un caractere de saut de ligne (13) est automatiquement rajouté devant un caractere de retour charriot (10).
Si qqun pouvait me dire comment soit changer le mode d'ouverture de la sortie standard pour le passer en binaire, soit comment faire pour ecrire un flux binaire vers une sortie texte sans rajout du caractere 13.
 
Merci

Reply

Marsh Posté le 15-05-2001 à 16:00:13   

Reply

Marsh Posté le 15-05-2001 à 18:21:49    

Mon code pourrait se traduire par ca :
 
void main(void)
{
int list;
FILE * fic;
FILE * fic2;
 
fic = fopen("Citédor.jpg", "rb" );
fic2 = fopen("Citédor2.jpg","wt" );
 
while( (list=fgetc(fic)) != EOF)
{
  putc(list, fic2);
}
}
 
et il faudrait que les deux fichiers soit pareils.
Mais ca ne marche pas, car le fichier 2 est ouvert en mode texte.
Or je travail en réalité avec la sortie standard qui elle aussi est en mode texte.

Reply

Sujets relatifs:

Leave a Replay

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