Prendre une tranche d'un tableau (string) C++ [Résolu]

simac - 6 sept. 2014 à 14:23 - Dernière réponse : Whismeril 11524 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 mai 2018 Dernière intervention
- 19 sept. 2014 à 19:47
Bonjour, comme exprimé dans le titre, j'aimerais savoir si il existe un moyen (fonction,opérateur...) qui permet de prendre une tranche d'un tableau, et plus particulièrement d'un string, pour l'utiliser dans strcpy().
Par exemple:

char monChar[100];
string monString="abcde";

strcpy(monChar,monString[0,3]);

Merci.
Cordialement
Simac
Afficher la suite 

Votre réponse

5 réponses

NHenry 14176 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 20 mai 2018 Dernière intervention - 6 sept. 2014 à 14:50
0
Utile
Bonjour,

de mes souvenirs avec le C, il y a strncopy (ou strncpy) qui accepte en 3ième argument la longueur max à copier.

strncpy(monChar,monString,3);

Commenter la réponse de NHenry
cptpingu 3785 Messages postés dimanche 12 décembre 2004Date d'inscriptionModérateurStatut 18 mai 2018 Dernière intervention - 6 sept. 2014 à 18:19
0
Utile
Bonjour.

Si tu es en C++, tu n'as aucune raison d'utiliser strcpy, ou même un char*... Pose-toi d'abord la question de la pertinence d'utilisation, li y a de forte chance que tu partes sur quelque chose d'alambiquée.

Je vais tout de même répondre techniquement à ta question, tout en reprécisant que tu pars sur un design potentiellement mauvais.

char monChar[100];
std::string monString = "abcde";
strcpy(monChar, monString.substr(0, 3).c_str());


__________________________________________________________________________________________________
Améliorez votre expérience CodeS-SourceS avec ce plugin:
http://codes-sources.commentcamarche.net/forum/affich-10000111-plugin-better-cs-2#cptpingu-signature
Commenter la réponse de cptpingu
0
Utile
D'accord, merci pour vos réponses, l'extraction était pour un fichier texte: prendre deux informations dans un fichier (du genre
nom=prénom
) pour les stocker dans deux chaines de caractères.

Merci encore! Cette question est résolue!

Simac
Commenter la réponse de simac
BruNews 21054 Messages postés jeudi 23 janvier 2003Date d'inscriptionModérateurStatut 7 novembre 2014 Dernière intervention - Modifié par Whismeril le 19/09/2014 à 19:46
0
Utile
Comme il est dit "tableau", alors c'est bien char[].
Sans aucune boucle ni autre biniouterie:
char A[24];
char res[4];

*((DWORD*) res) = *((DWORD*) A);
res[3] = 0;


ciao...
Commenter la réponse de BruNews
Whismeril 11524 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 mai 2018 Dernière intervention - 19 sept. 2014 à 19:47
0
Utile
Si la question est résolue, merci de la marquer comme tel avec le lien sous le titre.
Je le fais cette fois.
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.