Bonjour,

J'ai un problème de concaténation de chaînes de caractères de type char*. Je sais qu'en utilisant les string, ce serait plus simple, mais j'ai absolument besoin d'utiliser les char*. Voici mon code :

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
21
22
23
24
25
26
27
28
29
 
 
toto.h : 
 
#include<string.h>
#include<iostream>
 
void concat(char *c1, char *c2);
 
toto.c
 
void concat(char *c1, char*c2)
{
     char fusion[] = "\0";
 
     strcat(fusion, c1);
     strcat(fusion, c2);
 
     cout << fusion << endl;
}
 
main.c :
 
#include "toto.h"
 
int main(void)
{
    concat("test1/test2/","test3/test4");
}
Mon cout affiche bien la chaîne concaténée, mais j'ai un beau "RUN FAILED (exit value 139)". C'est une erreur de "segmentation violation" !

Pour des raisons qui me sont obscures, si je supprime les "/" et les chiffres, ça fonctionne ... je ne comprends vraiment rien ! Pouvez-vous m'aider ?

Je suis sous Kubuntu, je travail avec Netbeans 6.9.

Merci d'avance,

Syl