CHAINE DE CARACTERES EN C

NairodDorian Messages postés 130 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 18 août 2008 - 4 août 2008 à 15:16
cs_flofloo Messages postés 45 Date d'inscription samedi 5 juin 2004 Statut Membre Dernière intervention 16 mars 2009 - 5 août 2008 à 10:21
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47499-chaine-de-caracteres-en-c

cs_flofloo Messages postés 45 Date d'inscription samedi 5 juin 2004 Statut Membre Dernière intervention 16 mars 2009
5 août 2008 à 10:21
lol...
si j'ai refait tout celas c'est pour comprendre et non pour autres choses...
cs_max12 Messages postés 1491 Date d'inscription dimanche 19 novembre 2000 Statut Modérateur Dernière intervention 7 juillet 2014
5 août 2008 à 00:47
rien que le fait d'appeler en boucle une fonction a 2 paramètre retournant seulement 0 est en C est beaucoups plus lent que d'appeler strcmp :S

À méditer.
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
5 août 2008 à 00:25
strlen est une fonction existante
strcmp aussi
Bref un tas de fonction qui n'ont pas besoin d'être réécrites

Bonne continuation

PS : Poste des messages sur le forum si tu te demande si une fonction existe ou fouille la MSDN ;)
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
4 août 2008 à 20:26
Cette "source" sera enlevée demain au plus tard.
NairodDorian Messages postés 130 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 18 août 2008
4 août 2008 à 15:16
bravo tu as réécris les fonctions std de manière moins rapide.

int StrLen(char *string)
{
int pos;
char c;
pos = 0;
c = string[pos];
while(c!=(char)NULL)
{
pos++;
c = string[pos];
}
return pos;
}

Apparament tu n'as pas penser / compris les pointeurs;

int StrLen(char *string) {
char *pstr = string;
while (*pstr++);
return pstr - string;
}

C'est déjà beaucoup mieux.
Rejoignez-nous