begin process at 2012 05 28 08:32:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Classe CString & Visual Studio


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Classe CString & Visual Studio

mercredi 3 décembre 2003 à 19:31:50 | Classe CString & Visual Studio

talamasca

Tout d'abord, bien le bonjour.

Mon problème est lié au CString MFC et/ou visual studio et/ou à la qualité du code que je vient de reprendre.

Les symptomes sont simple; suite à une manipulation de CString, il semble qu'une seule partie du code soit "prise en compte".

Un petit exemple pour clarifier les choses :

{
...
CString str1, str2, str3;

str1 = str2 + "toto" + str3;
...
}

Dans ce cas, str1 ne contient que le contenu de str2, et le reste de la ligne est passé à la trappe, alors que les variables sont correctement initialisé.

Ce bout de code c'est mis subitement à ne plus fonctionner et je suspecte donc un problème de taille de stack ou d'option de compilation.

Donc si quelqu'un à une idée, je l'en remerci d'avance.

Talamasca
mercredi 3 décembre 2003 à 23:17:49 | Re : Classe CString & Visual Studio

DropF

Teste ça :
str1.Format("%stoto%s", str2, str3);
jeudi 4 décembre 2003 à 01:03:48 | Re : Classe CString & Visual Studio

talamasca

Tout d'abord merci pour ta réponse.
Je connaissais déjà cette solution et justement, c'est le fait qu'elle marche et non l'autre qui me pose problème.
En effet, je me voit mal corriger des centaines de lignes de codes.
De plus, que ce passeras t-il si quelqu'un utilise la syntaxe qui pose problème ?
Une autre piste pour faire fonctionner c le code original ?

MERCI
Talamasca
jeudi 4 décembre 2003 à 09:22:29 | Re : Classe CString & Visual Studio

garslouche

T'es sur de ton coup là???
Ca m'étonnerait que str1 = str2 + "toto" + str3 ne fonctionne pas!

L'opérateur + ne serait pas surchargé par hasard ?

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
jeudi 4 décembre 2003 à 10:08:06 | Re : Classe CString & Visual Studio

talamasca

Oui, j'en suis sur et j'allucine donc d'autant plus.
Quant à l'opérateur +, il faudrait pour cela dérivé la classe de base.
Je ne suis pas allé touché le code MFC, ou alors à l'insu de mon plein grés ;-)

Je continue donc à chercher, mais je ne suis pas contre une petite piste.


Talamasca
jeudi 4 décembre 2003 à 10:33:25 | Re : Classe CString & Visual Studio

garslouche

Il est aussi possible qu'un #define remplace le + par autre chose

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
jeudi 4 décembre 2003 à 10:59:03 | Re : Classe CString & Visual Studio

talamasca

En effet, mais c'est pas ça non plus.

Talamasca
jeudi 4 décembre 2003 à 12:22:28 | Re : Classe CString & Visual Studio

talamasca

M'enfin, j'ai trouvé.
Je suis rentré en debug dans les MFC mais VICTOIRE.
En fait dans la syntaxe :
str1 = str2 + "toto" + str3;
La string str2 contenait un \0. De fait le buffer de str1, bien que contenant les infos, ne retournais jamais la suite.

En tout cas merci à ceux (garslouche & DropF) qui ont répondu à mon thread.

JC

Talamasca
jeudi 4 décembre 2003 à 12:32:29 | Re : Classe CString & Visual Studio

garslouche

Eu hje ne voudrais pas te decevoir mais l'operateur + ne garde que ce qu'il y a avant le \0. Du coup même si str2="debut\0\0\0\0", str2+"coucou" sera "debutcoucou".

On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
jeudi 4 décembre 2003 à 14:11:50 | Re : Classe CString & Visual Studio

talamasca

Voilà plus exactement le code tel qu'il était :

char szbuffer[Size];
CString str, str1;

str1 = CString((char*) buffer, Size); // ERREUR ICI
sprintf(szbuffer, "toto");

str = "abcd" + str1 + "defg";

J'avais alors str = "abcdtoto";

la correction est str1 = CString((char*) buffer, strlen(buffer));


Talamasca


Cette discussion est classée dans : code, visual, studio, str1, cstring


Répondre à ce message

Sujets en rapport avec ce message

C en C++ [ par lildan ] Bonjour tout le monde, j'ai pris un code source sur ce site qui m'intéressait et j'ai voulu le modifier pour mon usage personnel. Ce code source est e problème entre compilateurs [ par GrandGarfield ] Bonjour, j'ai développé une application C++ qui fait intervenir des lectures et écritures dans des fichiers textes. J'ai en fait commencé le développ Compilation DLL [ par anjopa ] Bonjour, J'ai un soucis avec un bout de code qui fonctionne dans visual studio 6 mais pas dans visual studio 2010... Voici le code : MATRIXDLL_API passer du language Visual C à VB6 [ par JSilvere ] Bonjour, en ce mardi matin, je vous expose mon problème du jour ^^ Je doit créer l'équivalent d'un programme créer en Visual C en VB6. Je dispose d'u Mode release [ par galax98 ] Bonjour Je travaille sous Visual c++ 2008 Express et j'ai 2 petites questions J'ai fait une application qui utilise une dll. Ayant besoin de faire q code avec visual c++2008 express [ par mimou89 ] slt tt le monde,,j'ai fais un application windows form et j'ai met un bouton affiche et un richbox dans ce form,, je veut afficher un fichier text dan visual C++ et CANalyzer [ par abdobergach ] Bonjour, Voici mon problème: Je cherche à piloter CanAlyser via un code visual C++. J'ai trouvé ce code sur le net qui fonctionne [color=blue]presque Compiler avec cl et visual studio [ par bourineur ] Bonjour, cela fait à peine quelques mois que j'ai commencé la programmation, et je me retrouve face à un problème en compilant sous windows avec micro compilation d'un code source c avec un makefile sur visual c++ [ par math1667 ] Bonjour, J'ai un code source déjà prêt( main.c, chrapi.h et voip_defs.h) que je veux le compiler. Aussi, j'ai un fichier .lib nécessaire pour la comp URGENT!!Lire un fichier sur Visual Studio C++ [ par ielalami ] Bonjour, J'utilse Visual Studio C++ 2008 Express avec Qt.Je veux afficher sur mon interface les données récupérées sur un fichier texte.J'ai essayé p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales