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 :

ouvrir fichiers dossier


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Points : 15
    Points
    15
    Par défaut ouvrir fichiers dossier
    Salut a tous
    j'ai une centaine de fichier dans les quel je doit rajouter la meme ligne et recuper des info sur chaque fichier, je voudrait donc creer un programme C. Pour le programme je pensser faire en sorte qu'il ouvre tout les fichier un par un et effectuer la modif sur chacun des fichier etant doné qu'il on tous la meme mis en page, mais je n'arrive pas a ouvrir tout les fichier du dossier un par un,je pensse qu'il faut utiliser la bouche mais je voit pas comment
    merci d'avanc de votre aide le gamers

  2. #2
    Membre habitué Avatar de MotorX
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Août 2011
    Messages : 87
    Points : 134
    Points
    134
    Par défaut
    Moi j'aurais plutôt fais un tableau de caractères , à chaque tour de boucle tu mets dans ce tableau "fichier1" , puis "fichier2" à coup de sprintf, et tu ouvres le fichier et tu lui passes en paramètre du nom , ton tableau .

    Sa fais ça en gros , tant que i < a ton nombre de fichiers , tu sprintf(fichier , "fichier%d" , i); . Tu ouvres ensuite , tu fais ta modification , tu le ferme et ça en boucle

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    en effet ton idée est pas mal mais il y a un petit souci met fichier non pas du tout le mm nom

  4. #4
    Membre éclairé
    Avatar de Elijha
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2003
    Messages : 314
    Points : 742
    Points
    742
    Par défaut
    Salut,

    Tu peux essayer d'utiliser les "jokers". En argument de ton programme tu utilises "monprogramme *.bin" par exemple pour tous les fichiers ayant l'extension ".bin".
    Dans ton programme, avec argc (nombre d'arguments) et *argv[] les chaines de caractères représentant tes arguments, tu listes tous tes fichiers.
    Si tu es sous linux, chaque arguments argv[1] à argv[N] représente les noms de fichiers. Avec windows, je crois qu'il faut faire appel à une fonction.

    Pour plus d'informations voir ici : Manipulation de fichier

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    merci pour ta reponce je regarde sa

    je vien de pensser qu'il etait possible un liste de fichichier trés rapidement, je vais donc regarder le deux possibiliter et je choisiré celle qui me semble la mieu,
    merci a tout les deux je vous tient au courant

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    Sa y est je l'ai fait
    finalement j'ai utiliser une methode equivalente a celle de motorX

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     for(boucle=1; boucle<=NOMBRE_FICHIER;boucle++)
        {
             fseek(temp, 0, SEEK_SET);
             fprintf (temp, "fichier (%d).txt",boucle);
     
             fseek(temp, 0, SEEK_SET);
             fgets(nom_fich, 500, temp);
     
             fichier_ouvert=fopen (nom_fich,"w+");
             fprintf(fichier_ouvert, "ficheir modifier");
             fclose (fichier_ouvert);
        }
    merci a tout les deux

  7. #7
    Membre éclairé
    Avatar de Elijha
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2003
    Messages : 314
    Points : 742
    Points
    742
    Par défaut
    Salut,

    En gros, tu as un fichier texte (temp) dans lequel tu copies le nom de fichier N pour ensuite lire le nom de fichier, le créer et ensuite y écrire "fichier modifié".
    Autant utiliser une massue pour écraser un cafard

    Pourquoi ne pas directement ouvrir tes fichiers ? Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    int boucle = 0 ;
    char nom_fich[255] = "" ;
    FILE *fichier_ouvert = NULL ;
     
    for(boucle=1; boucle<NOMBRE_FICHIER; boucle++) {
    	// Création du nom de fichier à ouvrir dans nom_fich[]
    	sprintf(nom_fich, "fichier (%d).txt", boucle) ;
    	// Ouverture du fichier
    	fichier_ouvert = fopen(nom_fich, "w+") ;
    	// Teste l'ouverture du fichier
    	if(fichier_ouvert!=NULL) {
    		// Ecriture et fermeture
    		fprintf(fichier_ouvert, "fichier modifié\n") ;
    		fclose(fichier_ouvert) ;
    	}
    	else
    		// Erreur de création du fichier
    		printf("Le fichier \"%s\" n'a pas pu être ouvert.\n", nom_fich) ;
    }

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    en effet c plus simple, j'ai juste pas pensser a utiliser le spintf j'était trop braqué sur les fichier merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ouvrir fichier dossier different
    Par jjouc dans le forum Langage
    Réponses: 2
    Dernier message: 23/09/2010, 15h25
  2. [VB] Ouvrir un dossier en pointant directement sur un fichier
    Par D4rkTiger dans le forum Windows Forms
    Réponses: 7
    Dernier message: 03/02/2010, 14h28
  3. ouvrir un dossier et lire les fichiers .txt
    Par Agnès22 dans le forum VB.NET
    Réponses: 3
    Dernier message: 25/11/2009, 16h56
  4. Réponses: 8
    Dernier message: 22/02/2008, 12h55
  5. Ouvrir un dossier et parcourir les fichiers
    Par anthony44j dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 30/04/2007, 11h36

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