Imprimer un fichier

Soyez le premier à donner votre avis sur cette source.

Vue 22 453 fois - Téléchargée 831 fois

Description

Voila suite à une question sur le forum, j'ai decidé de mettre une source à la disposition de tout le monde... C'est une source permettant d'imprimer un fichier, le code utilise uniquement les fonction standard du C... Quelques explications sont disponible dans le paragraphe en dessous du code...

Source / Exemple :


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

int main(int argc, char **argv)
{
     FILE *fp;
     int c;

     if(argc != 2)
     {
          printf("Erreur de syntaxe\n");
          exit(1);
     }

     if ((fp = fopen(argv[1], "r")) == NULL)
     {
          printf("Impossible d'ouvrir le fichier %s...\n", argv[1]);
          exit(2);
     }

     while((c = fgetc(fp)) != EOF)  // tant que l'on est pas arrivé à la fin du fichier
          fputc(c, stdprn); // on imprime le fichier

     return 0;
}

Conclusion :


L'imprimante standard fait partie des fichiers speciaux rattachés aux périphérique de sortie. Pour y sortir des données, il suffit de transmettre à la fonction d'écriture compétante le pointer FILE et stdprn comme paramètre à la fonction compétente (fptuc). Supposons que c soit une variable entière.

pour imprimer un fichier, on fait:
nomduprogramme nomdufichier.xxx

voila j'espère que ça vous sera utile et surtout que ça vous aura aidé !!!

ps: j'ai voulu distribuer un exe, seulement VS.NET 2003 refuse de me le compiler, je ne sais pas pourquoi... il ne reconnait pas "stdprn"... enfin normalement, ca devrait marché, c'est une fonction standard du C... si quelqu'un à la réponse !!!

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
17
Le nom du fichier est pris sur la ligne de commande:
fp = fopen(argv[1], ...
faudrait peut-être regarder le code, non ?
Startiflette
Messages postés
1
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
30 avril 2006

Bonjour,
comment, le programme fera-t-il pour savoir quel fichier imprimer? Moi, je l'ai exécuté et le seul resultat est : "Erreur de syntaxe"
donald_lover
Messages postés
2
Date d'inscription
dimanche 19 octobre 2003
Statut
Membre
Dernière intervention
27 avril 2006

A propos du double pointeur, il permet de pointer vers une chaine de caractère et non un simple caractère. La chaine étant un "mot" passé sur la ligne de commande (y compris le nom de l'executable).
BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
17
Il est tout à fait inutile de perdre du temps avec ce genre d'antiquité.
L'impression est traitée ici au chapitre 13:
http://brunews.free.fr/brunews/download/CP5.zip
http://brunews.free.fr/brunews/download/CP5Sources.zip
Osiris84
Messages postés
2
Date d'inscription
mercredi 9 novembre 2005
Statut
Membre
Dernière intervention
9 novembre 2005

voici une explication qui peut etre vous conviendra, elle est assez explicite, néanmoins avec turbo c++ cela marche, le probleme de l'ecran noir est du à l'OS qui pour imprimer à besoin d'ouvrir l'utilitaire d'impression, de traiter l'info, et de le fermer de la même manière qu'on l'a ouvert!
Explication en anglais:http://www.shadow-lands.com/sml/2002/msg01978.html

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.