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++Builder Discussion :

Depassement de capacite


Sujet :

C++Builder

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Depassement de capacite
    y a -t-il quelqu'un qui puisse m'aider


    , j'essaye de charger un fichier dans une chaine s[] et voisi le pb que j'ai confronté,merci d'avance



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if (OpenDialog1->Execute())
       {
           MonFichier = fopen( OpenDialog1->FileName.c_str()  ,"r");
           s = new char ;
        //chargement du fichier dans la chaine s[]
             while (!feof(MonFichier))
                   {
                     s[i]=getc(MonFichier) ;
                     i++ ;
                   }
            fclose(MonFichier);
            Label1 ->Caption=s;
       }



    msg:le projet a provoque une classe d'exeptionEAccessViolation avec le msg "violation d'accés al'adesse xxxxdans le module???

  2. #2
    Membre expérimenté
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Points : 1 309
    Points
    1 309
    Par défaut
    Hello,

    Que souhaite-tu faire a partir des données de ton fichier?

    Pour lire des fichiers de type texte, le mieux est d'utiliser une TStringList :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    TStringList *fichier = new TStringList(); //allocation des ressources
    fichier->LoadFromFile( OpenDialog1->FileName ) ;
    /*
    [...]
    a partir de là, chaque ligne de ton fichier texte 
    est contenu dans une ligne de ta StringList
    [...]
    */
    Label1->Caption = fichier->Strings[0] //affiche la 1ère ligne du fichier;
     
    delete fichier ; //libération des ressources
    Ce que l'on apprend par l'effort reste toujours ancré plus longtemps...

  3. #3
    Nouveau membre du Club
    Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Décembre 2004
    Messages : 35
    Points : 34
    Points
    34
    Par défaut new char
    new char te crée une chaîne vide donc de la place pour 0 bytes, d'où ton AV.
    Pour de la place pour 10 bytes tu dois faire new char[10];
    OU
    char *s=" ";
    ou
    char *s=(char *) malloc(10);

Discussions similaires

  1. [VBA-E]Depassement de capacité
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 16/05/2006, 15h13
  2. probleme de depassement de capacité
    Par el_quincho dans le forum Access
    Réponses: 3
    Dernier message: 19/04/2006, 13h38
  3. probleme de depassement de capacités
    Par el_quincho dans le forum Access
    Réponses: 2
    Dernier message: 07/04/2006, 10h02
  4. [VB6] Hex(Double) - depassement de capacite
    Par SErhio dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 18/05/2005, 17h09
  5. depassement de capacité
    Par jpg dans le forum ASP
    Réponses: 2
    Dernier message: 19/08/2004, 18h26

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