2010-03-12 5 views
0

Aide.Problème TCHAR dans la copie

TCHAR* b; 
TCHAR* c=TEXT("qwerty"); 

Je veux allouer de la mémoire et copier le contenu de c en b.

+0

Je veux créer un vecteur de tous les paquets installés sur le système – Xaver

Répondre

1

Je n'ai pas travaillé en C++ pour un certain temps, mais de la mémoire est quelque chose comme le plus facile:

b = tcscpy(new TCHAR[tcslen(c) + 1], c); 

La première étape alloue la mémoire tampon (+1 pour un TCHAR supplémentaire pour le delimiter NUL); la deuxième étape copie la chaîne entière dans ce nouveau tampon; et enfin affecte le résultat (le tampon) à b.

Les versions plus récentes du compilateur se plaindront probablement de ne pas utiliser la version limitée de la routine de copie (tcscpy_s au lieu de tcscpy).

+0

thx mais il y a le petit problème. Je ne peux pas trouver les en-têtes qui définissent cette fonction. – Xaver

+0

Les macros TCHAR sont définies dans 'tchar.h', situé dans le même dossier que les autres en-têtes standard comme' stdio.h'; utiliser: '#include ' – devstuff