[C] Strcat pour les noobs

Fermé
matthoffman Messages postés 405 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 22 janvier 2013 - Modifié par matthoffman le 29/10/2010 à 17:55
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 30 oct. 2010 à 11:41
Bonjour,

Rien de mieux qu'un bout de code basique ^^.

int connect_socket(char *path)          
{                                                                                                                                             
  printf("path is %s\n", path);                                                      
  strcat(path, "/cmd");                                                               
  printf("path is %s\n", path);                                                     
}   


Mon probleme est que je SEGFAULT sur strcat .....

NB: output:
"path is /tmp/sock
segmentation fault"

De l'aide svp ? :)

Cordialement

2 réponses

dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
30 oct. 2010 à 09:58
hello
est ce que le string path est bien terminé par un \0 ?
0
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
30 oct. 2010 à 11:39
Tout à fait, il faut que 'path' soit initialisé et que la longueur de la chaîne résultante ne dépasse pas (caractère terminal compris) son allocation.
Bonne continuation.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
30 oct. 2010 à 11:41
Bonjour,

Comment a été initialisée ta variable path ?
Et quel mot tapes-tu par exemple pour générer l'erreur ?
0