Maison >développement back-end >C++ >Comment convertir des chaînes en tableaux de caractères en C ?
Conversion de chaînes en tableaux de caractères en C
Lorsque nous sommes confrontés à la tâche de convertir des chaînes en tableaux de caractères en C, il est important de comprendre que il y a une distinction entre les tableaux de caractères et char (pointeur vers un caractère). Dans ce contexte, nous nous concentrerons sur la conversion de chaînes en tableaux de caractères réels plutôt qu'en pointeurs char.
L'exemple de code fourni comprend trois approches différentes :
1. Utilisation de strcpy() :
string temp = "cat"; char tab2[1024]; strcpy(tab2, temp.c_str());
Cette méthode utilise la fonction strcpy() pour copier le contenu de la chaîne dans le tableau de caractères. C'est simple mais doit être utilisé avec prudence car il ne vérifie pas les débordements de tampon.
2. Utilisation de strncpy() :
string temp = "cat"; char tab2[1024]; strncpy(tab2, temp.c_str(), sizeof(tab2)); tab2[sizeof(tab2) - 1] = 0;
Cette approche utilise la fonction strncpy() pour copier la chaîne dans le tableau de caractères tout en garantissant que le tampon n'est pas dépassé. Le dernier caractère est explicitement défini sur null pour terminer la chaîne.
3. Utilisation de new :
string temp = "cat"; char * tab2 = new char [temp.length()+1]; strcpy (tab2, temp.c_str());
Cette méthode alloue dynamiquement de la mémoire pour le tableau de caractères à l'aide de l'opérateur new, puis copie la chaîne dans le tableau à l'aide de strcpy().
Ces approches offrent une flexibilité dans la conversion de chaînes en tableaux de caractères en fonction d'exigences et de considérations spécifiques concernant la gestion des tampons.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!