begin process at 2012 05 28 22:13:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Concaténer 2 chaînes de caractères


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Concaténer 2 chaînes de caractères

jeudi 9 mars 2006 à 20:35:23 | Concaténer 2 chaînes de caractères

tweeder

J'ai une première chaîne  :  string_1[200] qui a une taille bien définie,  puis j'ai char* string_2. Est-ce qu'il y a moyen de concaténer ces 2 chaînes en C ? J'ai essayé avec strcat, mais il n'aime pas mon string_2 car sa taille n'est pas définie.

Merci de votre aide,

Jonathan
jeudi 9 mars 2006 à 20:41:00 | Re : Concaténer 2 chaînes de caractères

SAKingdom

Membre Club

En effet, strcat n'aime pas les variable char *. Il ne prend que les tableau. Il n'y pas moyen de concatener des char * avec strcat. Essais sprintf comme ceci:

sprintf("%s%s", string_1, string_2);

Je n'est jamais essaillé ça alors je ne peut pas te dire si ça marchera.

jeudi 9 mars 2006 à 20:43:25 | Re : Concaténer 2 chaînes de caractères

SAKingdom

Membre Club
Et si ça marche toujours pas bien met ton string_2 en tableau et utilise strcat. C'est pas si dramatique que ça car c'est la même chose qu'un char * mais avec une limite prédéfinie.
jeudi 9 mars 2006 à 20:46:39 | Re : Concaténer 2 chaînes de caractères

tweeder

Le problème c'est que je vais avoir des trucs louches dans mon tableau si je ne prends pas toute l'espace. Le sprintf ne semble pas fonctionner, merci pareil pour l'aide.
Faudrait p-e que j'utilise des tableaux dynamiques pour m'assurer d'avoir toutes l'informations que je désire dans mes tableaux. Je ne veux pas me déclarer un tableau de 20 quadn je vais p-e utiliser seulement 4 caractères.

Jonathan
jeudi 9 mars 2006 à 22:25:17 | Re : Concaténer 2 chaînes de caractères

julienbj


Quoi, strcat ne prens pas des chaines de caracteres?
Alors la, j'en serais bien surpris!

Vive le C
Tchao
Savon
jeudi 9 mars 2006 à 22:29:35 | Re : Concaténer 2 chaînes de caractères

tweeder

Je m'en suis sorti avec memcpy, merci pour ton aide

Jonathan
jeudi 9 mars 2006 à 22:41:03 | Re : Concaténer 2 chaînes de caractères

SAKingdom

Membre Club
De rien. Petit message pour julienbj : en effet, strcat ne fonctionne pas avec char * mais seulement avec des tableaux.
jeudi 9 mars 2006 à 22:43:09 | Re : Concaténer 2 chaînes de caractères

SAKingdom

Membre Club
Si tu fais des strcat avec des char *, il va arriver plein d'erreure
jeudi 9 mars 2006 à 23:02:16 | Re : Concaténer 2 chaînes de caractères

julienbj

Je suis absolument pas d'accord.
strcat va concatener a ta premiere chaine la chaine que tu lui donnes en la lisant jusqu'au caractere nul.
Je vais nommer str1 la chaine à laquelle on veut concatener str2.

Le probleme arrive seulement si l'espace réservé à str1 (que ce soit un tableau de caractères ou un char *) est trop faible pour contenir la longeur des str1 + la longueur de str2 + 1 (pour le \0).
Donc si probleme, uniquement souci d'allocation avec des char*. Heureusement que ca fonctionne d'ailleurs avec des char*, sinon on n'utiliserai jamais cette fonction.

Vive le C
Tchao
Savon
jeudi 9 mars 2006 à 23:08:27 | Re : Concaténer 2 chaînes de caractères

julienbj


De toute facon, il n'y a qu'a regarder le prototype de stcat:
char *strcat( char *strDestination, const char *strSource );
Ou tu vois que les char* sont interdits, il n'y a que ca.
De toute facon, si tu fais char buffer[255].
buffer est considéré comme un char*. Ton compilo sait que seulement 255 octets lui sont alloués et te donnera au moins un warning si tu dépasse, mais ton pross lui n'en sait rien quand tu l'executes. buffer reste un pointeur de type char pour lequel on a alloué 255 octets de mémoire.

Faire char buffer[255] est la meme chose que char *buffer; buffer=malloc(255*sizeof(char));
Enfin, buffer représentera la meme chose. Apres faudrait voir comment le compilo gere le buffer[255]. Ne sachant pas je n'avancerait pas d'hypothese, mais ce pourrait etre intéressant de regarder.

Vive le C
Tchao
Savon

1 2 3

Cette discussion est classée dans : taille, string, caractères, concaténer, chaînes


Répondre à ce message

Sujets en rapport avec ce message

manipulation fichier texte [ par bencholl ] I / Utilisation de fichiers texteLe fichier "Etud_2002.don" comporte des lignes ainsi structurées (le caractère ';' est utilisé comme séparateur) : NO Pb Chaîne de caractères [ par mmuller57 ] Bonjour,J'ai créé un petit programme qui convertit les caractères d'une chaîne de caractères par leurs codes ASCII :#include #include #include int con taille des polices de caractères [ par gagah1 ] Salut à tous!Est-ce quelqu'un sait la relation entre la taille des polices de caractères affiché dans la boite de dialogue commune et lfHeight de la s Recuperer la taille d'un tableau de string [ par kobee12 ] Bonjour a tous,J'aimerais savoir s'il existe une fonction qui permette de récupérer la taille d'un tableau de string.En java, il est possible de recup concaténer un caractère a une chaine de caractères [ par deck_bsd ] Bonjour, voila g un petit problem, ds mon programe je converti un int en char, mais apres je veu le concaténer en faisant strcat(chaine_de_caract,car Concaténer une string et un int [ par MaximeH ] Bonjour,J'ai 2 variables, définies comme suit : int a;LPTSTR b;Je souhaite concaténer b et a, pour ensuite les envoyer dans une statusbar via la fonct recherche d'une string délimité par des caractères [ par akiraofmoule ] helloj'aimerais pouvoir récupérer un chaine de caractères délimités entre deux caractères simple (des guillement pour mon cas)exemple :string1 = "salu Tri d'un tableau de chaînes de caractères [ par Manthis ] Bonjour, Je poste ce message car je n'arrive pas à trouver de solution à mon problème. En fait j'ai un tableau de chaînes de caractères (un char **) conversion string hexa et décomposition string [ par pastaga29 ] Je dispose d'un buffer de taille variable de type char*. Dans celui-ci se trouve une phrase. Je souhaiterais décomposer cette phrase en bloc de 20 car Fixer la taille des string à la déclaration [ par ThierryPAUL ] Du fait de contraintes précises je dois pouvoir fixer, au sein d'une classe, la taille de mes string à leur déclaration (15 par exemple).Càd que je do


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales