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 :

[C++] Probleme de concaténation


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 156
    Points : 67
    Points
    67
    Par défaut [C++] Probleme de concaténation
    Voila j'ai un probleme de concaténation que je n'arrive pas à résoudre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strcat(vec[1], "chaine");
    vec est de type vector<string>

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 375
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 375
    Points : 41 543
    Points
    41 543
    Par défaut
    vec[1] += "chaine"
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 156
    Points : 67
    Points
    67
    Par défaut
    oui mais quand j'execute le programme, l'invite de commande plante...

  4. #4
    Membre éclairé Avatar de MatRem
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 750
    Points : 693
    Points
    693
    Par défaut
    strcat c'est une fonction de la bibliothèque c standart.
    string c'est un objet de la bibliothèque c++ standart.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 156
    Points : 67
    Points
    67
    Par défaut
    oui avec la version de medinoc l'invite de commande plante et avec ma méthode ça compile pas...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    C'est juste que ca plante à un autre endroit

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 156
    Points : 67
    Points
    67
    Par défaut
    Donc ca doit planté ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cout << vec[1] << endl;

  8. #8
    Membre éclairé Avatar de MatRem
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 750
    Points : 693
    Points
    693
    Par défaut
    Faudra que tu montres plus de code pour qu'on puisse comprendre ou ça plante.

  9. #9
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 92
    Points : 55
    Points
    55
    Par défaut
    C'est quoi le message d'erreur / l'exception levée lors du plantage ?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 156
    Points : 67
    Points
    67
    Par défaut
    programme.exe a rencontré un probleme et doit fermé, voulez vous envoyer un rapport d'erreur a windows...

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    void Trouver_Les_Autocad(void)
    {
    	vector<string> vec;
     
    	maCleRegistre clAutocad;
    	long nbSousCles; 
    	int choix;
     
     
    	if (! clAutocad.ouvrir(HKEY_LOCAL_MACHINE,"Software\\Autodesk\\AutoCAD",KEY_ALL_ACCESS))
    		return;
     
    	if (! clAutocad.TrouvernbSousCles(nbSousCles))
    		return;
     
     
    	char nomSousCle[2048];
    	char nomInterneInstallation[2048];
     
    	char nomVersion[2048];
    	char cheminInstallation[2048];
     
    	for (long i=0;i<nbSousCles;i++)
    	{
    		long tailleSousCle=2048;
    		if (clAutocad.nomSousCle(i,nomSousCle,tailleSousCle))
    		{
    			// On va ouvrir la sous clé, et voir combien d'installations de cette version d'autocad ont été
    			// installées
    			maCleRegistre cleVersionAutocad;
    			if (! cleVersionAutocad.ouvrir(clAutocad,nomSousCle,KEY_ALL_ACCESS))
    				continue;
     
    			long nbVersionsInstallees;
    			if (! cleVersionAutocad.TrouvernbSousCles(nbVersionsInstallees))
    				continue;
     
    			//cout << "il y a " << nbVersionsInstallees << " version d'autocad installee" << endl;
    	 	    //cout << "laquelle voulez-vous lancer : " << endl << endl;
     
    			for (long j=0;j<nbVersionsInstallees;j++)
    			{
    				long tailleNomInterneInstallation=2048;
    				if (cleVersionAutocad.nomSousCle(j,nomInterneInstallation,tailleNomInterneInstallation))
    				{
    					//
    					// On va maintenant prendre le nom de l'installation
    					// ainsi que le chemin.  donc, voir AcadLocation et ProductName
    					//
    					maCleRegistre cleInstanceInstallee;
    					if (! cleInstanceInstallee.ouvrir(cleVersionAutocad,nomInterneInstallation,KEY_ALL_ACCESS))
    						continue;
    					DWORD lgNomVersion=2048;
    					DWORD lgCheminInstallation=2048;
     
    					if (cleInstanceInstallee.valeurChaine("AcadLocation",(BYTE *)nomVersion,lgNomVersion) &&
    					    cleInstanceInstallee.valeurChaine("ProductName",(BYTE *) cheminInstallation,lgCheminInstallation))
    					{
     
    			 	        cout << i+1 << " : " << cheminInstallation << endl;
    			 	        vec.push_back(nomVersion);
     
                        }
     
    				}
     
     
    			}
     
     
    		}
    	}
     
     
    vec[1] += "\\acad.exe"; 
     
     
    cout << vec[1] << endl;
     
    }

  11. #11
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Tu as un débuggeur, alors utilises-le !

  12. #12
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 92
    Points : 55
    Points
    55
    Par défaut
    Oui, utilise le debugueur pour connaitre la valeur de vec[1].
    Tu peux aussi mettre ton cout<<vec[1] dans un bloc try ... catch

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 68
    Points : 46
    Points
    46
    Par défaut
    J'ai repris ton code, et chez moi ca marche, du moins quand j'execute ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
       vector <string> vec;
       char nomVersion[2048]="Nom de la version";
     
       vec.push_back(nomVersion);
     
       vec[0] += "\\acad.exe"; 
       cout<<vec[0];
    La console affiche : Nom de la version\acad.exe

  14. #14
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 92
    Points : 55
    Points
    55
    Par défaut
    Peut-etre que les push_back ne sont pas effectués, et donc lorsqu'on veut accéder a vec[1] ça plante.

    D'ailleurs ... pourquoi vec[1] ?

Discussions similaires

  1. [AC-2007] Probleme pour Concaténer plusieurs enregistrements dans une seule colonne
    Par severik dans le forum Requêtes et SQL.
    Réponses: 23
    Dernier message: 08/11/2017, 15h15
  2. probleme de concaténation
    Par pierre22 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 09/04/2009, 15h49
  3. probleme de concaténation de fichiers
    Par capitaine.banane dans le forum ANT
    Réponses: 4
    Dernier message: 11/12/2008, 10h55
  4. Probleme de Concaténation
    Par Leibmaster dans le forum ASP
    Réponses: 4
    Dernier message: 23/05/2007, 17h03
  5. [C++] probleme de concaténation
    Par leroidje dans le forum C++
    Réponses: 2
    Dernier message: 08/06/2006, 10h26

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