Transformer unCString en Chaine de caractere

Transformer unCString en Chaine de caractere - C++ - Programmation

Marsh Posté le 05-05-2006 à 15:47:05    

Bonjour,
 
je voudrez savoir s'il est possible de convertir une CString en chaine de caractère pour pouvoir la modifier ou si on ne peut pas directement modifier le contenu d'une CString.
Par exemple : transformer toto.txt en toto.res
 
???

Reply

Marsh Posté le 05-05-2006 à 15:47:05   

Reply

Marsh Posté le 05-05-2006 à 15:55:57    

Utilise la méthode SetAt()
http://msdn2.microsoft.com/en-us/l [...] S.80).aspx


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 05-05-2006 à 16:05:40    

C'est vrai que ça pourrait être pas mal comme solution mais le problème c'est que je ne connais pas la longueur de CString en avance pour calculer la position du caractère à changer

Reply

Marsh Posté le 05-05-2006 à 16:07:44    

Désolée de pas avoir réfléchi!
 
je dois pouvoir utiliser un truc du genre

Code :
  1. int stringlength = maCString->GetLength();


 :pt1cable:  

Reply

Marsh Posté le 05-05-2006 à 16:11:51    

par contre saurais tu me dire à quoi correspond le "pMgr" ?
 

Code :
  1. void SetAt(
  2.    int iChar,
  3.    XCHAR ch
  4. );
  5. CSimpleString s( "abcdef", pMgr );
  6. s.SetAt(1, 'a');
  7. _ASSERT(strcmp(s, "aacdef" ) == 0);

Reply

Marsh Posté le 05-05-2006 à 16:33:41    

pourquoi CSimpleString ?

Reply

Marsh Posté le 05-05-2006 à 16:36:44    

bubulle63 a écrit :

par contre saurais tu me dire à quoi correspond le "pMgr" ?


ben regarde à quoi correspond ce paramètre dans le constructeur :spamafote:
http://msdn2.microsoft.com/en-us/library/454ex2yb.aspx
 

Citation :

pStringMgr
 
    A pointer to the memory manager of the CSimpleStringT object. For more information on IAtlStringMgr and memory management for CSimpleStringT, see Memory Management and CStringT.



---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 05-05-2006 à 16:37:47    

_darkalt3_ a écrit :

pourquoi CSimpleString ?


parce que c'est la classe de base de toutes les strings en MFC :o


Message édité par Harkonnen le 05-05-2006 à 16:38:09

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 05-05-2006 à 16:43:56    

je sais bien :o
 
mais pourquoi pas cstring ?

Reply

Marsh Posté le 05-05-2006 à 16:45:43    

_darkalt3_ a écrit :

je sais bien :o
 
mais pourquoi pas cstring ?


ben c'est pareil, s'il utilise CString il pourra utiliser SetAt() :spamafote:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 05-05-2006 à 16:45:43   

Reply

Marsh Posté le 05-05-2006 à 16:48:04    

je sais que tu sais :o
 
mais lui le sait-il ?
(en fait ma question lui était adressée, j'ai pas du etre clair)

Reply

Marsh Posté le 05-05-2006 à 16:50:38    

c'est cool en utilisant la fonction replace de CString ça fonctionne impec!
[url]
http://msdn.microsoft.com/library/ [...] string.asp[/url]
 
merki

Reply

Marsh Posté le 05-05-2006 à 16:51:41    

ah ok, je viens de voir dans son code qu'il instanciait une CSimpleString :D
évidemment, c'est inutile ! il vaut mieux instancier une CString, ça n'empechera pas d'utiliser SetAt()


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 05-05-2006 à 16:54:37    

bubulle63 a écrit :

c'est cool en utilisant la fonction replace de CString ça fonctionne impec!
[url]
http://msdn.microsoft.com/library/ [...] string.asp[/url]
 
merki


euh... ouais, mais là tu indiques la doc des CString vieille version (MFC utilisées avec VC++ 6, archi dépassé et pourri)
les CString actuelles sont basées sur des templates, bien plus simples et sécurisés que les passoires que tu sembles utiliser


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 05-05-2006 à 16:58:02    

Oui mais ch'uis toute pitite dans ce vaste monde de l'informatique! alors désolée pour la vieille version pourri sur laquelle je mais un lien mais ça m'aide bien. :p  
J'espère ke j'aurais pas de problème avec ma fonction replace alors...

Reply

Marsh Posté le 06-05-2006 à 10:08:06    

à ta décharge, la msdn a pas mal changé ces derniers mois, ca devient parfois dur de trouver une doc :o

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed