bonjour,
j'ai un char[9] et je voudrais savoir comment copier cette chaine dans un char* !
est-ce possible ?
sinon coment faire merci
bonjour,
j'ai un char[9] et je voudrais savoir comment copier cette chaine dans un char* !
est-ce possible ?
sinon coment faire merci
Pour travailler avec les chaînes C il y a plein de fonctions dans string.h : strcpy et strncpy, notamment.
N'oublie pas non plus d'allouer suffisamment de mémoire au bout de ton char* pour contenir la chaîne copiée.
A part ça, il y a une raison à ne pas utiliser std::string puisque ce sont des chaînes ?
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
Enormément de méthodes sont disponibles.
Si tu veux effectivement un char*, utilises strncopy.
Plus généralement, préfères des std::string, quitte à utiliser c_str() pour en obtenir un const char* si vraiment tu en a besoin (ex: bibliothèque qui demande un const char*)
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 #include <cstdlib> #include <iostream> #include <string> #include <string.h> int main( int argc, char** argv ) { const char chaine[] = "Bonjour!"; { // Technique 1 char* chaine2 = new char[strlen(chaine)+1]; strncpy( chaine2, chaine, strlen(chaine) ); } { // Technique 2 std::string chaine2( chaine ); const char* chaine3 = chaine2.c_str(); } return EXIT_SUCCESS; }
en faite je me suis un put planter dnas mon post mais bon ...
enfait j'ai un char[9] et je voudrais le passer en char* ou en CString
en tout cas je ve plus le [9] pour fair des comparaison et copier la chaine plus facilement que quand elle est en taleau
je ne vois rien de compliquer la dedans...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 char pszTmp[9] = "hello"; CString strTmp = pszTmp;
et ca marche pareil avec les std::string
Partager