2017-03-25 3 views
-2

Lorsque j'exécute ce code, j'ai toujours trouvé un problème dans mon IDE. Pouvez-vous donner cette solution? strcat() en programmation en langage c

#include<stdio.h> 
 
#include<string.h> 
 
int main(void) 
 
{ 
 
    char cname[4]="mahe"; 
 
    strcat(cname, "Karim"); 
 
    printf("%s",cname); 
 
    getch(); 
 
    return 0; 
 
}

+1

Quel est le problème que vous avez trouvé? quel est le message d'erreur? Veuillez prendre le temps de visiter le [centre d'aide] (http://stackoverflow.com/help) et aussi lire [Comment demander] (http://stackoverflow.com/help/how-to-ask), [Comment pour créer un exemple minimal, complet et vérifiable] (http://stackoverflow.com/help/mcve), afin que vous puissiez apprendre quels types de questions sont acceptées ici, comment écrire des questions et comment utiliser efficacement ce site –

Répondre

2

Votre tableau est pas assez grand. Le tableau d'origine n'est pas assez grand pour contenir l'octet nul à la fin de sa valeur initiale, donc strcat() ne trouve pas la fin de la chaîne. Et puis vous ajoutez à cela, qui écrit en dehors du tableau. Ils provoquent tous deux un comportement indéfini.

Il doit être déclaré suffisamment grand pour contenir la chaîne d'origine, la chaîne que vous ajoutez et l'octet nul de fin. Il doit donc y avoir au moins 10 octets (4 + 5 + 1).

char cname[10] = "mahe"; 
strcat(cname, "Karim"); 
printf("%s\n", cname); 
+0

Ouais, j'ai compris. Thnx Buddy –

0

changement char cname[4]-char cname[10]. Parce que vous définissez la taille 4 et ainsi, vous ne pouvez plus ajouter à cela après avoir ajouté 4 caractères initialement.

Donc, changez la taille. C'est tout

+0

Thnx Man, Son travail enfin –