memset en C?

memset en C? - C - Programmation

Marsh Posté le 13-02-2006 à 15:54:18    

bonjour
j'ai rencontré dans un programme écrit en C une certaine fonction memset(mem, 0, n).
Apparemment c'est une fonction prédéfini dans le language C. Mais est ce que quelqu'un sait ce qu' elle fait exactement?

Reply

Marsh Posté le 13-02-2006 à 15:54:18   

Reply

Marsh Posté le 13-02-2006 à 15:56:34    

man memset
 
Soit en ligne de commande si tu es sous Unix, soit sous Google.

Reply

Marsh Posté le 13-02-2006 à 16:00:51    

merci bien

Reply

Marsh Posté le 13-02-2006 à 16:02:15    

De rien, ça marche avec toutes les fonctions standard. :)
 
N'hésite pas à venir demander des précisions si tu ne comprends pas les manpages.


Message édité par Elmoricq le 13-02-2006 à 16:02:51
Reply

Marsh Posté le 13-02-2006 à 16:03:10    

Pour info :
memset(mem, 0, n)
 
Permet de remplir l'espace mémoire pointé par mem avec des 0 sur n octets.

Reply

Marsh Posté le 13-02-2006 à 16:05:42    

merci encore

Reply

Marsh Posté le 13-02-2006 à 16:08:20    

ZeroMemory ça tabasse plus qu'un memset(mem, 0, n) :sol:

Reply

Marsh Posté le 13-02-2006 à 16:17:53    

Je ne sais pas ce qu'est ZeroMemory, mais si c'est une fonction, c'est pas standard.

Reply

Marsh Posté le 13-02-2006 à 16:18:45    

Elmoricq a écrit :

Je ne sais pas ce qu'est ZeroMemory, mais si c'est une fonction, c'est pas standard.


 
+1
 
Jamais entendu parler de sa.
Avec quel compilo ?

Reply

Marsh Posté le 13-02-2006 à 16:22:47    

C'est du windows programming, mille excuses si c'était pour du code portable [:ocube]

Reply

Marsh Posté le 13-02-2006 à 16:22:47   

Reply

Marsh Posté le 14-02-2006 à 10:50:06    

Il y a aussi la fonction bzero() qui fait un peu près la même chose que nemset().  
Ces fonctions initialisent ou complètent à zéro une structure par exemple.

Reply

Marsh Posté le 14-02-2006 à 10:59:12    

bzero() c'est POSIX.2, tu ne trouves donc pas cette fonction partout.

Reply

Marsh Posté le 14-02-2006 à 11:08:38    

Vilo5 a écrit :

Il y a aussi la fonction bzero() qui fait un peu près la même chose que nemset().  
Ces fonctions initialisent ou complètent à zéro une structure par exemple.


ouais enfin c'est complètement déprécié surtout

Reply

Marsh Posté le 14-02-2006 à 17:06:22    

C'est deprecie par la glibc, je ne pense pas que ca soit deprecie par le standard.

Reply

Marsh Posté le 14-02-2006 à 19:40:59    

Vilo5 a écrit :

Il y a aussi la fonction bzero() qui fait un peu près la même chose que nemset().  
Ces fonctions initialisent ou complètent à zéro une structure par exemple.


 
 
Franchement si c'est pour gagner le passage de 2 arguments autant utiliser memset(), au moins tu es sûr que c'est portable.
C'est pas sa qui va faire saturer la pile.
 
Enfin je dis sa ce n'est que mon avis, chacun voit midi à sa porte.  :)

Message cité 1 fois
Message édité par pj_crepes le 14-02-2006 à 19:44:29
Reply

Marsh Posté le 14-02-2006 à 19:42:38    

Spa moi qu'il faut citer, mais vilo5 [:marc]

Reply

Marsh Posté le 14-02-2006 à 19:44:03    

Elmoricq a écrit :

Spa moi qu'il faut citer, mais vilo5 [:marc]


 
dsl je me suis trompé d'une ligne pour le quote :)
J'edit
 
dsl

Reply

Marsh Posté le 14-02-2006 à 20:10:05    

surtout que memset a de forte chance d'être optimisé par ton compilateur (du moins gcc le fait énormément).

Reply

Marsh Posté le 15-02-2006 à 09:34:49    

pj_crepes a écrit :

Franchement si c'est pour gagner le passage de 2 arguments autant utiliser memset(), au moins tu es sûr que c'est portable.
C'est pas sa qui va faire saturer la pile.
 
Enfin je dis sa ce n'est que mon avis, chacun voit midi à sa porte.  :)


 
 
 :jap:  
Ok ok, je débute aussi et j'ai vu la comparaison de ces 2 fonctions en cherchant autre chose pour moi.
J'ai seulement voulu le mettre sur le chemin afin qu'il puisse comparer et envisagé toutes les possibilités.

Reply

Marsh Posté le 15-02-2006 à 11:45:38    

Vilo5 a écrit :

:jap:  
Ok ok, je débute aussi et j'ai vu la comparaison de ces 2 fonctions en cherchant autre chose pour moi.
J'ai seulement voulu le mettre sur le chemin afin qu'il puisse comparer et envisagé toutes les possibilités.


 
Pas de problème, je donnais simplement mon avis par rapport à ce genre de fonctions.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed