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 :

Alloc dynamique d'un char[]


Sujet :

C++

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 83
    Par défaut Alloc dynamique d'un char[]
    Bonjour à tous,

    La question est dans l'intitulé

    En fait, j'aimerai pouvoir faire une allocation dynamique d'un tableau de char de la même facon qu'il est possible de le faire avec un vector (mais je ne veux pas de vector).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    char buffer[60000]; //fonctionne
    char buffer[_filelength( fh )];/*ne fonctionne pas (avec _filelength( fh ),
    int qui sera déterminé un peu avant dans le programme)*/
    Merci

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char* buffer = new char[_filelength( fh )];
    Mais quelle obscure raison peut bien pouvoir te faire éviter std::vector ?

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 83
    Par défaut
    Merci pour cette réponse (évidente )... mais que je n'avais pas trouvé.
    Ensuite,je dois faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     int bytesread = _read( fh, buffer, nbytes );
    Et _read n'accepte pas de vector buffer

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 32
    Par défaut
    Pourquoi ne pas utiliser les puissantes possibilités du C++, en l'occurrence les std::string .
    http://c.developpez.com/faq/cpp/?page=strings

    Et pour lire/écrire des fichiers mieux vaut utiliser ifstream/ofstream :
    http://c.developpez.com/faq/cpp/?page=fichiers

  6. #6
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par défaut
    On ne peut pas désactiver le chache système avec les stream de la STL, si ?

  7. #7
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Quel rapport ?

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Par défaut
    Citation Envoyé par Chop_chop
    Bonjour à tous,

    La question est dans l'intitulé

    En fait, j'aimerai pouvoir faire une allocation dynamique d'un tableau de char de la même facon qu'il est possible de le faire avec un vector (mais je ne veux pas de vector).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    char buffer[60000]; //fonctionne
    char buffer[_filelength( fh )];/*ne fonctionne pas (avec _filelength( fh ),
    int qui sera déterminé un peu avant dans le programme)*/
    Merci
    eh bien buffer[_filelength( fh )]; ne fonctionne pas car le compilo ne sait pas combien d'espace allouer sur la pile.
    De façon dynamique, tu fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    char* buffer= new char["la taille que tu veux connue ou non à la compil"]
    pour mettre ça sur le tas dynamiquement

Discussions similaires

  1. Allocation dynamique: Tableau de pointeur sur char
    Par Anonymouse dans le forum Débuter
    Réponses: 4
    Dernier message: 21/10/2007, 10h57
  2. petit pbm allocation dynamique de stringGrid
    Par AnneOlga dans le forum C++Builder
    Réponses: 10
    Dernier message: 17/01/2004, 11h59
  3. Allocation dynamique de structures
    Par fr_knoxville dans le forum C
    Réponses: 8
    Dernier message: 06/05/2003, 21h59
  4. Allocation dynamique de mémoire en asm
    Par narmataru dans le forum Assembleur
    Réponses: 7
    Dernier message: 17/12/2002, 22h31
  5. Réponses: 4
    Dernier message: 03/12/2002, 16h47

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