Code source de fonctions en c
Fermé
renaudh
Messages postés
138
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
2 septembre 2016
-
6 juin 2005 à 20:25
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 1 déc. 2007 à 13:19
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 1 déc. 2007 à 13:19
A voir également:
- Code source de fonctions en c
- Le code ascii en informatique - Guide
- Code puk bloqué - Guide
- Code de déverrouillage oublié - Guide
- Code activation windows 10 - Guide
- Code gta 4 ps4 - Guide
7 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
6 juin 2005 à 22:57
6 juin 2005 à 22:57
Salut,
Je n'ai rien trouvé d'intéressant
t'es vraiment rapide si tu as reussi lire tous les cours sur le site que je t'ai donné (pas grave)
Dans ton code je vois
je pense qu'il y a un problème
i est une variable int et dst char
ce n'est pas plutôt
ou si tu utilise for :
?
Je n'ai rien trouvé d'intéressant
t'es vraiment rapide si tu as reussi lire tous les cours sur le site que je t'ai donné (pas grave)
Dans ton code je vois
for (i=0;dst[i]!='\0';i++)
je pense qu'il y a un problème
i est une variable int et dst char
ce n'est pas plutôt
while ( dst[i] != '\0')
ou si tu utilise for :
for (i=0;strlen(dst[i])-1;i++)
?
sam3000
Messages postés
1225
Date d'inscription
mercredi 22 décembre 2004
Statut
Membre
Dernière intervention
13 juin 2005
144
6 juin 2005 à 20:28
6 juin 2005 à 20:28
regarde si tu trouve les sources de GNU-GCC, (c'est un compilateur open-source, cherche les sources de ces bibliotheques)
mais généralement les fonctions standards existent pour tous les compilateurs.
@*
mais généralement les fonctions standards existent pour tous les compilateurs.
@*
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
6 juin 2005 à 20:38
6 juin 2005 à 20:38
Tu connais ce site?
http://www.developpez.com/cours/
http://www.developpez.com/cours/
renaudh
Messages postés
138
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
2 septembre 2016
3
6 juin 2005 à 22:25
6 juin 2005 à 22:25
Je n'ai rien trouvé d'intéressant, pour en revenir à mon strcat, j'ai essayé et voici ce que j'ai codé pour le moment:
Ca me donne 2 warnings car je n'ai pas initialisé les 2 chaines mais je ne peux pas utiliser de calloc ou malloc donc jvois pas trop les initialiser. Le programme se lance, j'entre les 2 chaines puis ça plante, ke dois-je modifier?
#include <stdio.h> #include <stdlib.h> //déclaration de la fonction char * mystrcat (char *, const char *); void main (void){ char *dst,*src;//déclaration des chaines printf("Entrer la chaine dst\n"); scanf("%s",dst); printf("Entrer la chaine src\n"); scanf("%s",src);//encodage des chaines dst=mystrcat(dst,src);//appel de la fonction printf("Chaine concatenee: %s",dst);//affichage de la chaine concaténée } char * mystrcat (char *dst, const char *src){ int i,j;//indice de parcours des chaines for (i=0;dst[i]!='\0';i++);//se positionne au caractère de fin chaine de la chaine dst for (j=0;src[j]!='\0';j++){//copie de src dans dst dst[i]=src[j]; i++;} dst[i]='\0';//je met le caractère de fin de chaine dans dst return dst; }
Ca me donne 2 warnings car je n'ai pas initialisé les 2 chaines mais je ne peux pas utiliser de calloc ou malloc donc jvois pas trop les initialiser. Le programme se lance, j'entre les 2 chaines puis ça plante, ke dois-je modifier?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sam3000
Messages postés
1225
Date d'inscription
mercredi 22 décembre 2004
Statut
Membre
Dernière intervention
13 juin 2005
144
7 juin 2005 à 21:46
7 juin 2005 à 21:46
ton plantage est normal, ça vient du fait que t'as pas allouer d'espace pour tes chaines! au moins si tu ne veux pas utiliser malloc ou calloc (je vois d'ailleur pas pour quelle raison) tu doit utiliser des tableaux de chaines assez grands!
remplace la ligne:
par:
@*
remplace la ligne:
char *dst,*src;//déclaration des chaines
par:
char dst[200],src[200]; //déclaration des chaines
@*
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
1 déc. 2007 à 13:19
1 déc. 2007 à 13:19
Salut,
tu peux regarder ici par exemple http://www.linux-france.org/article/man-fr/man3/Index-3.html
tu peux regarder ici par exemple http://www.linux-france.org/article/man-fr/man3/Index-3.html