Rechercher : dans
Par :

Code source de fonctions en c

Dernière réponse le 1 déc 2007 à 13:19:22 renaudh, le 6 jun 2005 à 20:25:25 
 Signaler ce message aux modérateurs

Bonjour,

Je cherche un site où je pourrais trouver les codes sources des différentes fonctions en c.

Par exemple la fonction strcat, je trouve plein de sites où il explique comment l'utiliser mais j'en ai trouvé aucun où l'on fait sa définition. Donc que devrait-on faire si cette fonction n'existait pas pour concaténer 2 chaines?

Si vous pouviez me renseigner sur un bon petit site qui fait ça (si ça existe, ça m'avancerait bcp)

Merci

Meilleures réponses pour « code source de fonctions en c » dans :
Il est possible de récupérer le code source PHP d'un site VoirMythe Un utilisateur peut récupérer le code source PHP d'un site web comme il peut récupérer le code HTML. Réalité FAUX Explications Les fichiers PHP (ASP, JSP, etc.) sont des fichiers interprétés côté serveur, ce qui signifie que le serveur...
On peut cacher le code source d'une page HTML VoirMythe: On peut cacher le code source d'une page HTML. Réalité: FAUX. Explications: Pour pouvoir afficher une page web (HTML), le navigateur doit - à un moment où un autre - avoir le code HTML en clair. Il y a donc toujours moyen de le...

1

sam3000, le 6 jun 2005 à 20:28:23

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.
@* Invité bienvenue, Membre t'es un(e) ami(e),
Profil rempli on t'aime, tu parle SMS tu vas dehors!

Répondre à sam3000

2

lami20j, le 6 jun 2005 à 20:38:10
Répondre à lami20j

3

renaudh, le 6 jun 2005 à 22:25:15

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:

#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?

Répondre à renaudh

4

lami20j, le 6 jun 2005 à 22:57:54

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

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++)

?

Répondre à lami20j

5

sam3000, le 7 jun 2005 à 21:46:28

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:

char *dst,*src;//déclaration des chaines


par:
char dst[200],src[200]; //déclaration des chaines

@* Invité bienvenue, Membre t'es un(e) ami(e),
Profil rempli on t'aime, tu parle SMS tu vas dehors!

Répondre à sam3000

6

tfdans, le 1 déc 2007 à 13:08:26

Svp,
pourriez vous m'aider avec le nom d'un site qui donne ttes les spécifications des fonctions c

Répondre à tfdans

7

 lami20j, le 1 déc 2007 à 13:19:22

Salut,

tu peux regarder ici par exemple http://www.linux-france.org/article/man-fr/man3/Index-3.html­
lami20j

Répondre à lami20j