1

Je voudrais comparer des données mais le problème et que je n'ai pas assez d'informations sur ses fonctions. sad

Par exemple je veux comparer 2 chaînes de caractères qui ont des caractères nuls, si ses 2 chaînes font 10 caractères, est-ce que strncmp comparera les chaînes pour 10 caractères ou s'arrêtera dès qu'il rencontrera un caractère nul? Si c'est le cas, memcmp est adapté à ce que je fais? Mais cette fonction est-elle leeeennnnteeee?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

2

Je ne sais pas exactement ce que fait strncmp, mais en tout cas memcmp fait ce que tu veux. Les fonctions strn* ne sont pas faites pour travailler avec des caractères nuls dedans, mais seulement pour pouvoir padder avec des 0 et/ou pour mettre une chaîne de taille n dans n octets (et pas n+1), donc ce n'est probablement pas ce que tu cherches (strncat, strncmp etc... ne doivent pas marcher comme tu veux non plus).

Et je ne vois pas pkoi memcmp serait plus lent que strncmp, a priori c même plutôt le contraire (c'est possible de traiter les octets par bloc, je ne sais pas si memcmp le fait mais en tout cas c parfaitement possible).

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

3

il est fort possible que strncmp utilise la routine de memcmp
avatar
納 豆パワー!
I becamed a natto!!!1!one!

4

Non, je ne m'étais pas trompé, en fait : http://www.opengroup.org/onlinepubs/007908799/xsh/strncmp.html
The strncmp() function compares not more than n bytes (bytes that follow a null byte are not compared
) from the array pointed to by s1 to the array pointed to by s2.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

5

ok je vois, en effet strncmp n'est pas adapté à ce que je fais. Mais il faut que je trouve pourquoi mon programme est aussi lent. sad
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

6

liquid
: il est fort possible que strncmp utilise la routine de memcmp

Non. strncmp doit s'arrêter au premier '\0', donc il n'a pas le droit d'utiliser memcmp. Sauf après 2 appels à strlen, mais du coup c'est lent.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

7

geogeo :
Je voudrais comparer des données mais le problème et que je n'ai pas assez d'informations sur ses fonctions. sad
D'après la doc de TIGCC sur strncmp (première ligne !) :
Compares at most
maxlen characters of one string to another
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

8

Ouai en effet j'aurais du regarder la doc de TIGCC, j'y ai même pas pensé.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

9

lol...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)