Maison > développement back-end > C++ > Comment convertir des chaînes en tableaux de caractères en C ?

Comment convertir des chaînes en tableaux de caractères en C ?

Linda Hamilton
Libérer: 2024-11-08 03:08:01
original
767 Les gens l'ont consulté

How to Convert Strings to Char Arrays in 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());
Copier après la connexion

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;
Copier après la connexion

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());
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal