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 allocation dynamique dans C++


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre tr�s actif
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2011
    Messages
    317
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 317
    Par d�faut probl�me allocation dynamique dans C++
    bonsoir les amis,
    je veux faire une allocation dynamique d'une variable de type chaine de caract�re mais j'ai eu beaucoup de probl�mes lors de la compilation du programme.
    voici mon programme:
    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
    20
    21
    22
    23
    24
    25
     
    int main(){
     
    ...
     
       tab[0]="";
       string sequence[nb_seq];
       string seq;
      char *buffer2;
      buffer2=new char;
                    strncpy(buffer2,seq,k);
                     u++;
                     lamda=0;verif=0;
                        while((lamda<u) && (verif<1)){
                            X=strcmp(tab[lamda],buffer2);
                            if(X==0){
                            verif++;
                            }
                            lamda++;
                        }
                        if (verif==0){
                        tab[u]=buffer2;
                        }
                        else u--;
    ...
    error: cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*' for argument '2' to 'char* strncpy(char*, const char*, size_t)'|

    je pense que c'est un probl�me lors de la d�claration du buffer2 .
    merci pour votre aide

  2. #2
    Membre �m�rite

    Homme Profil pro
    Non disponible
    Inscrit en
    D�cembre 2012
    Messages
    478
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Non disponible

    Informations forums :
    Inscription : D�cembre 2012
    Messages : 478
    Billets dans le blog
    1
    Par d�faut
    Bonsoir,
    error: cannot convert 'std::string {aka std::basic_string<char>}' to 'const char*' for argument '2' to 'char* strncpy(char*, const char*, size_t)'|
    Tu essais en effet de convertir (ou comparer) une "string" en un "const char". Le type commun "char" n'a pas connaissance de la librairie "string". La conversion :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    const char * chaineCaractères = laString.c_str();

  3. #3
    Membre tr�s actif
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2011
    Messages
    317
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 317
    Par d�faut
    merci pour votre aide.
    mais je n'ai pas compris qu'est ce que je dois convertir.
    dans mon exemple j'ai buffer2 mais je n'ai pas pu le convertir afin qu'il soit copier ou comparer dans le reste du programme.

  4. #4
    Membre �m�rite

    Homme Profil pro
    Non disponible
    Inscrit en
    D�cembre 2012
    Messages
    478
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Non disponible

    Informations forums :
    Inscription : D�cembre 2012
    Messages : 478
    Billets dans le blog
    1
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    strncpy(buffer2,seq,k); /*devrait être :*/ strncpy(buffer2,seq.c_str(),k);

  5. #5
    Membre �m�rite

    Profil pro
    Inscrit en
    D�cembre 2008
    Messages
    533
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 533
    Par d�faut
    Alors �a c'est vraiment un code de souillon !
    Qu'est-ce qu'il est cens� faire ?

  6. #6
    Expert �minent

    Femme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (�le de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par d�faut
    tu es oblig� de te coltiner l'api C pour les chaines?
    string::substr() ne te satisfait pas?

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 4
    Dernier message: 06/05/2008, 13h12
  2. Probl�me allocation dynamique ?
    Par Dark_Alex69 dans le forum C
    R�ponses: 15
    Dernier message: 20/11/2007, 15h44
  3. probl�me allocation dynamique
    Par josef24 dans le forum D�buter
    R�ponses: 6
    Dernier message: 12/11/2007, 12h31
  4. R�ponses: 2
    Dernier message: 14/12/2006, 07h54
  5. [D7] - Allocation dynamique dans une DLL
    Par david_chardonnet dans le forum Delphi
    R�ponses: 6
    Dernier message: 05/07/2006, 15h28

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