bonjour,
j'ai fais un petit code dans le but de tester plusieurs facons de lier deux chaines mais je voulais savoir comment resoudre le problème de l'espace.
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#include <string.h>
 
/************************************************************************/
/* EXERCICE 3: Ecrireune fonction qui à deux chaines en parametre et qui*/
/* et qui recopie la seconde à la fin de la première; cette fonction    */
/* retourne la première.                                                */
/************************************************************************/
 
char *cetteConcatenation(char *destination, char *source){
	int i, j;
	i = j = 0;
	while(destination[i] != '\0') /* va à la fin de destination */
		i++;
	while((destination[i++] = source[j++]) != '\0');/* copie source */
	return destination;
} /*version sans string.h */
 
char *cetteConcatenation2(char *destination, char *source){
	return strcat(destination, source);
} /* version avec string.h */
 
/************************************************************************/
/*                      PROGRAMME DE TEST                               */
/************************************************************************/
 
int main(void){
	char chaine1[100];
	char chaine2[100];
	/* debut test exercice 3 */
	puts("EXERCICE 3");
	printf("entrez une Chaine 1 :\n");
	scanf("%s",chaine1);
	printf("entrez une Chaine 2:\n");
	scanf("%s",chaine2);
	printf("Concatenation :%s\n", cetteConcatenation(chaine1, chaine2));
	printf("entrez une Chaine 1 :\n");
	scanf("%s",chaine1);
	printf("entrez une Chaine 2:\n");
	scanf("%s",chaine2);
	printf("Concatenation :%s\n", cetteConcatenation2(chaine1, chaine2));
	return 0;
}