[C]Fichier
Résolu/Fermé
Street
-
13 août 2006 à 20:17
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 17 août 2006 à 08:41
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 17 août 2006 à 08:41
A voir également:
- [C]Fichier
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Fichier iso - Guide
7 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
15 août 2006 à 18:51
15 août 2006 à 18:51
peut être :
if(src==0) printf("'...");
if(src==0) printf("'...");
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
15 août 2006 à 19:38
15 août 2006 à 19:38
Pourquoi ne pas utiliser stdout
man 3 stdout
extrait du man
man 3 stdout
extrait du man
NAME stdin, stdout, stderr - standard I/O streams SYNOPSIS #include <stdio.h> extern FILE *stdin; extern FILE *stdout; extern FILE *stderr; DESCRIPTION Under normal circumstances every Unix program has three streams opened for it when it starts up, one for input, one for output, and one for printing diagnostic or error messages. These are typically attached to the user's terminal (see tty(4)) but might instead refer to files or other devices, depending on what the parent process chose to set up. (See also the ``Redirection'' section of sh(1) .)
mamiemando
Messages postés
33545
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
25 février 2025
7 829
15 août 2006 à 21:57
15 août 2006 à 21:57
int copy(char *src, char *dst)
qui copy le contenu de 2 fichiers
==> c'est pas plutôt le contenu de src qui est copié dans dst ?
il suffit de controler que les deux fichiers peuvent être ouvert en contrôlant le code de retour de fopen.
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/fopen.3.html
Bonne chance
qui copy le contenu de 2 fichiers
==> c'est pas plutôt le contenu de src qui est copié dans dst ?
il suffit de controler que les deux fichiers peuvent être ouvert en contrôlant le code de retour de fopen.
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/fopen.3.html
int test_file(const char *src){ FILE *fp = fopen(src); if (!fp){ printf("Y a un problème !\n"); fclose(fp); return 0; } fclose(fp); return 1; }
Bonne chance
En faite ce n'est pas ça mon problème.
Mon programme attend que je lui passe 2 arguments en ligne de commande par exemple :
mon main est donc le suivant sans la gestion des erreurs
ce que je voudrais savoir, c'est comment faire pour afficher le fichier à l'écran dans le cas ou l'on ne donne que le fichier de lecture
La fonction int copy(FILE *src, FILE *dst)
Mon programme attend que je lui passe 2 arguments en ligne de commande par exemple :
$ ./a.out source destination
mon main est donc le suivant sans la gestion des erreurs
int main(int argc, char *argv[]) { FILE *fileIn, *fileOut; if(argc != 3) /*gestion erreur*/ fileIn = fopen(argv[1], "r"); fileOut = fopen(argv[2], "w") copy(fileIn, fileOut); return EXIT_SUCCESS; }
ce que je voudrais savoir, c'est comment faire pour afficher le fichier à l'écran dans le cas ou l'on ne donne que le fichier de lecture
$ ./a.out source
mamiemando
Messages postés
33545
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
25 février 2025
7 829
16 août 2006 à 11:03
16 août 2006 à 11:03
Ok alors il suffit juste de controler le nombre d'argument :
Ceci dit le test que je t'ai donné doit être fait pour vérifier que le fichier source existe bien. Je pense qu'il peut être intéressant de la faire aussi sur le fichier destination pour vérifier qu'on écrase pas un autre fichier (il faudrait au moins que le programme demande confirmation avant d'écraser un fichier).
Bonne chance
int main(int argc,char **argv){ if(argc != 3){ fprintf(stderr,"usage : %s source destination",argv[0]); return 1; } //... return 0; }
Ceci dit le test que je t'ai donné doit être fait pour vérifier que le fichier source existe bien. Je pense qu'il peut être intéressant de la faire aussi sur le fichier destination pour vérifier qu'on écrase pas un autre fichier (il faudrait au moins que le programme demande confirmation avant d'écraser un fichier).
Bonne chance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ce n'est toujours pas ça alors qu'il me semble être clair dans ma demande ...
Ce n'est pas grave, je vais me débrouiller
Ce n'est pas grave, je vais me débrouiller
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
17 août 2006 à 08:41
17 août 2006 à 08:41
Salut.
Je me disai bien aussi que ta question était bizard.
La prochaine fois, pose correctement ta question, tu aura la bonne réponse de suite.
Je me disai bien aussi que ta question était bizard.
La prochaine fois, pose correctement ta question, tu aura la bonne réponse de suite.