IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Créer 2 fichiers en format .txt


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut Créer 2 fichiers en format .txt
    Bonsoir à tous,

    J'aimerais créer 2 fichiers en format.txt ! D'abord le premier fichier doit s'appeler fichier1 et le second fichier2. Y a des tutos dans le forum mais je comprends pas celui-ci ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    char src[FILENAME_MAX]; /* FILENAME_MAX est defini dans stdio.h */
        FILE * fsrc;
     
        printf("Ce programme permet de copier un fichier.\n");
        printf("source : ");
        saisir_chaine(src, sizeof(src));
     
        fsrc = fopen(src, "rb");
        if (fsrc == NULL)
            perror(src);
    Donc, moi j'aurais procédé ainsi pour créer mon fichier1, mais ça ne fonctionne pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    char src[FILENAME_MAX]; /* FILENAME_MAX est defini dans stdio.h */
        FILE * fsrc;
     
        printf("Ce programme permet de copier un fichier.\n");
        printf("source : ");
        saisir_chaine(src, sizeof(src));
     
        fsrc = fopen("fichier1.txt, "rb");
        if (fsrc == NULL)
            perror(src);
    Par contre, je ne sais pas ce que signifie FILENAME_MAX ???

    Merci d'avance

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Tamzoro Voir le message
    J'aimerais créer 2 fichiers en format.txt ! D'abord le premier fichier doit s'appeler fichier1 et le second fichier2.

    Donc, moi j'aurais procédé ainsi pour créer mon fichier1, mais ça ne fonctionne pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    fsrc = fopen("fichier1.txt, "rb");
        if (fsrc == NULL)
            perror(src);
    Tu ne sens pas qu'il manque un truc sur la première ligne ? Indice: regarde les couleurs...
    Accessoirement tu veux ouvrir des fichiers textes, et tu les ouvres au format "rb" (b=binaire). Ca n'a aucune influence sur les systèmes de type Unix/Linux (pour lui il n'existe pas de spécificité "fichier texte", tout est du binaire) mais sous Zindow
    Et tu as oublié de mlgrer la ligne perror(src) qui doit bien évidemment s'adapter au nouveau nom de fichier que tu utilises...

    Citation Envoyé par Tamzoro Voir le message
    Par contre, je ne sais pas ce que signifie FILENAME_MAX ???
    Ca signifie textuellement "nombre de caractères maximal que peut prendre un nom de fichier". Ca dépend bien évidemment de l'OS dans lequel tu te trouves.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Ca signifie textuellement "nombre de caractères maximal que peut prendre un nom de fichier". Ca dépend bien évidemment de l'OS dans lequel tu te trouves.
    Tout d'abord merci pour ta réponse ! J'ai finalement réussi à créer mes 2 fichiers... Mon programme doit tourner sur Windows et ne peut pas dépasser 64 octets... Donc ça signifie que je dois pas excéder 64 caractères ??? Parce que dans mon programme je dépasse les 100 caractères lorsque je fais une copie....

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Tamzoro Voir le message
    Parce que dans mon programme je dépasse les 100 caractères lorsque je fais une copie....
    Il s'agit du nombre de caractères du nom du fichier, pas de son contenu !!!
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Il s'agit du nombre de caractères du nom du fichier, pas de son contenu !!!
    T'es sûr ??? Voici l'exercice que je suis sensé faire...


  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Oui je suis sûr. D'ailleurs rien dans ton énoncé parle de la taille donnée aux noms de fichiers. Certes ces noms seront saisis par l'utilisateur mais ça m'étonnerait qu'un user relativement bien câblé coté cigare s'amuse à saisir plus de 20 caractères.

    Tu dois écrire un programme qui copie et éventuellement modifie durant la copie, le contenu d'un fichier1 dans un fichier2.
    Si par exemple ton fichier contient "voici venu les barbapapas, on fait les fous" et qu'il faut remplacer "ba" par "tamzoro" alors le fichier 2 contiendra "voici venu les tamzorortamzoropapas, on fait les fous".
    Tu dois pour ça utiliser une zone tampon (zone de travail) qui ne dépassera pas 64 octets. Et bien entendu, tu devras utiliser cette zone dans une boucle de lecture, afin de lire tout le fichier !!!

    C'est pas super compliqué. Le seul soucis c'est au cas où la chaine arriverait tronquée dans la zone tampon (le début de la chaine arrivant en fin de zone et la fin de la chaine arrivant en début de zone à l'itération suivante). Un algo simpliste n'arriverait alors pas à la trouver...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Créer un fichier au format kml
    Par Yann_69 dans le forum Général Java
    Réponses: 2
    Dernier message: 13/07/2012, 11h17
  2. Ouvrir, écrire, enregistrer, modifier, créer un fichier .txt
    Par Omion dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 11/12/2006, 07h50
  3. Conversion de fichier au format idx en txt
    Par mokhrim dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 05/12/2006, 23h35
  4. [VBA-E]Créer un fichier txt depuis une feuille Excel
    Par marie10 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 20/02/2006, 17h36
  5. Réponses: 22
    Dernier message: 24/04/2005, 16h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo