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 :

Problème de création de fichiers .txt en boucle


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 15
    Par défaut Problème de création de fichiers .txt en boucle
    Slt à tous,

    Je suis actuellement confronté à un petit problème concernant la création de fichiers.

    J'ai hérité d'un code dans lequel on crée autant de fichiers .txt que l'utilisateurs en paramètre, au moyen du code suivant :


    ofstream *sortie_streaming = NULL;

    if (pdc->nb_utilisateurS != 0)
    sortie_streaming = new ofstream[pdc->nb_utilisateurS];

    sortie_streaming[i].open(fichier_out[i]);
    où fichier_out[i] est le nom du fichier à créer.

    Seulement, lorsque "pdc->nb_utilisateurS" est grand (>508) les fichiers ne sont plus créés. Quoi qu'il se passe, il n'y aura que 508 fichiers .txt créés.

    Quelqu'un a-t-il une idée d'où ça peut venir, ou sinon connaissez-vous une autre méthode pour créer des fichiers .txt à la chaine ?

    Merci d'avance.

  2. #2
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Les OS imposent generalement une limite au nombre de fichiers ouverts simultanement par un process. Ton nombre 508 est fort proche de 512 ce qui est un nombre suspect de ce point de vue (tenir compte de cin, cout et d'un autre fichier ou l'autre).

    S'il est possible, il vaut mieux refermer les fichiers quand tu n'en n'a plus besoin et ne les ouvrir qu'a ce moment la (avoir besoin de plus de 500 fichiers ouverts simultanement, ca demande vraisemblablement un redesign).

    Sinon, tu peux chercher si ton OS permet de controler ce nombre (limit/ulimit sous Unix par exemple).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 15
    Par défaut
    D'accord,

    Mais j'avais pensé au nombre limité de fichiers à ouvrir en même temps, et pour voir si j'avais atteint la limite, j'ai mis dans la boucle un deuxième fichier à ouvrir à chaque fois.

    Ce coup-ci ça bloque à 500 fichiers x 2 = 1000 fichiers. Donc je ne pense pas avoir atteint la limite avec 508 ?

  4. #4
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par droledelolo Voir le message
    D'accord,

    Mais j'avais pensé au nombre limité de fichiers à ouvrir en même temps, et pour voir si j'avais atteint la limite, j'ai mis dans la boucle un deuxième fichier à ouvrir à chaque fois.
    Tu ne le refermerais pas par hazard? La limite porte sur le nombre de fichiers ouverts simultanément.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 15
    Par défaut
    Non du tout. Je les ouvre tous en même temps et je les referme à la toute fin du programme. C'est à dire que je peux en ouvrir au moins 1000 à la fois !

  6. #6
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 477
    Par défaut
    Citation Envoyé par droledelolo Voir le message
    Non du tout. Je les ouvre tous en même temps et je les referme à la toute fin du programme. C'est à dire que je peux en ouvrir au moins 1000 à la fois !
    Est-ce que tu n'ouvrirais pas deux fois le même fichier ? En rw ou ro ?

  7. #7
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 477
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Les OS imposent generalement une limite au nombre de fichiers ouverts simultanement par un process. Ton nombre 508 est fort proche de 512 ce qui est un nombre suspect de ce point de vue (tenir compte de cin, cout et d'un autre fichier ou l'autre).
    Oui ! Si tu ajoutes cin, cout et cerr, ça monte à 511 ! :-)

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

Discussions similaires

  1. Problème de création de fichier
    Par Frenchguy dans le forum VBA Access
    Réponses: 5
    Dernier message: 15/05/2007, 15h57
  2. Petit problème de création de fichier
    Par cajie dans le forum Ada
    Réponses: 2
    Dernier message: 29/12/2006, 11h32
  3. Création de fichiers txt
    Par zerbault dans le forum Fortran
    Réponses: 1
    Dernier message: 24/11/2006, 22h06
  4. Problème de création de fichier
    Par dani22 dans le forum Langage
    Réponses: 4
    Dernier message: 18/10/2006, 17h50
  5. [Delphi 2005] Débutant avec problème de création de fichier
    Par Patcdc dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/06/2005, 18h41

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