Partage
  • Partager sur Facebook
  • Partager sur Twitter

Listes des fonctions C

(fonctions standards)

5 janvier 2006 à 0:52:29

Pour ceux qui se demandent, toutes les descriptions sont de moi ; ce n'est pas un copier/coller d'une autre source ; de toute manière, je n'aurais probablement pas le droit de le recopier d'ailleurs, tout comme vous n'avez pas le droit de reprendre cet article à votre compte ; c'est la vie.


17 mai, peu de temps après : Petite mise à jour : J'ai corrigé des choses et ajouté une section sur <limits.h> et une sur <float.h>.

17 mai : Grosse mise à jour : J'ai ajouté la description de toutes les fonctions et ordonné le tout dans des jolis tableaux, avec de jolis titres. J'espère que cela vous sera utile !

J'héberge une version XHTML de ce document sur mon site à l'adresse suivante :
http://rzpages.ovh.org/prog/libc-standard.php5
Elle a l'avantage de posséder un sommaire et des liens internes vers toutes les sections pour une meilleure navigation, si vous souhaitez trouver quelque chose rapidement dans la liste.

Où obtenir de la documentation sur les fonctions de la bibliothèque standard ?



La source idéale serait la norme, bien évidemment, mais elle n’est certainement pas le document le plus accessible qui soit. Pour les courageux, sachez qu’une version brouillon est disponible sur le site du groupe de standardisation travaillant sur le langage C.

Dans le cas contraire, vous pouvez également trouver de la documentation peut-être plus accessibles…

Sur votre système



Un autre moyen de vous procurer de la bonne documentation est de lire celle correspondant à votre système.

Sous un système de type Unix, cela signifie lire la page de manuel (man page) grâce à la commande :

$ man NOM_DE_LA_FONCTION


Si vous utilisez un système GNU, les pages info sont également disponibles :

$ info NOM_DE_LA_FONCTION


Sous Windows, si vous avez Visual Studio ou le Platform <acronyme valeur="">SDK</acronyme> installé, vous devriez avoir accès à un fichier d’aide en <acronyme valeur="">HTML</acronyme> compilé (.chm) que vous pouvez ouvrir depuis l’interface de Visual Studio. Il comporte normalement un index et une recherche.

Sur le web



Vous trouverez beaucoup de pages de manuel sur la toile. Il vous suffit de faire une recherche du type :

man NOM_DE_LA_FONCTION SYSTÈME


N’oubliez pas de préciser votre système sous peine de tomber sur des pages qui ne sont pas adaptées. Cela ne fonctionne évidemment que si vous êtes sous un unixoïde.

À noter que le site Developpez.com propose les pages de manuel de Linux en français. Les projets <acronyme valeur="">BSD</acronyme> possèdent chacun leur propre site dédié disposant d’une section pour les pages de manuel, sur NetBSD.org, par exemple, si vous utilisez NetBSD.

En ce qui concerne Windows, enfin, la <acronyme valeur="">MSDN</acronyme> est une source d’information très complète. Il vous faudra trouver la page correspondant à la bibliothèque C standard. Pour cela, recherchez les termes C Run-Time Library, ou simplement <acronyme valeur="">CRT</acronyme>, accompagnés du nom de la fonction.

Contenu de la bibliothèque standard



La première colonne correspond au type d’usage que l’on fait de l’entité dont le nom figure en deuxième colonne : T correspond à type, C à constante, V à valeur, F à fonction et M à macro. Je parle là d’usage : les constantes sont en vérité définies comme des macros, et certaines fonctions peuvent l’être également. La distinction principale entre une fonction et une « macro » telle que j’emploie le terme ici est qu’il faut faire attention à ne pas inclure d’effet de bord dans les expressions passées en arguments à une macro, celle-ci pouvant les évaluer plusieurs fois, ce qui serait inattendu et incontrôlable, donc catastrophique.

Définitions usuelles (<stddef.h>)



T ptrdiff_t différence (en octets) de deux pointeurs
T size_t taille d’objets contigus en mémoire
T wchar_t caractère étendu (souvent, Unicode)
C NULL constante de pointeur nul
M offsetof position (en octets) d’un membre dans une structure


Capacité des types entiers (<limits.h>)



C CHAR_BIT nombre de bits dans un octet
C SCHAR_MIN valeur minimale d’un signed char (-127 ou moins)
C SCHAR_MAX valeur maximale d’un signed char (127 ou plus)
C UCHAR_MAX valeur maximale d’un unsigned char (255 ou plus)
C CHAR_MIN valeur minimale d’un char ; vaut SCHAR_MIN ou 0
C CHAR_MAX valeur maximale d’un char ; vaut SCHAR_MAX ou UCHAR_MAX
C SHRT_MIN valeur minimale d’un short (-32767 ou moins)
C SHRT_MAX valeur maximale d’un short (32767 ou plus)
C USHRT_MAX valeur maximale d’un unsigned short (65535 ou plus)
C INT_MIN valeur minimale d’un int (-32767 ou moins)
C INT_MAX valeur maximale d’un int (32767 ou plus)
C UINT_MAX valeur maximale d’un unsigned int (65535 ou plus)
C LONG_MIN valeur minimale d’un long (-2147483647 ou moins)
C LONG_MAX valeur maximale d’un long (2147483647 ou plus)
C ULONG_MAX valeur maximale d’un unsigned long (4294967295 ou plus)
C MB_LEN_MAX nombre maximal d’octets par caractère polyoctet


Propriétés des types flottants (<float.h>)



C FLT_RADIX base de l’exposant (2 ou plus)
C FLT_MANT_DIG nombre de chiffres significatifs en base FLT_RADIX d’un float
C FLT_MIN_EXP exposant minimal en base FLT_RADIX d’un float
C FLT_MAX_EXP exposant maximal en base FLT_RADIX d’un float
C FLT_DIG nombre de chiffres significatifs en base 10 d’un float (6 ou plus)
C FLT_MIN_10_EXP exposant minimal en base 10 d’un float (-37 ou moins)
C FLT_MAX_10_EXP exposant minimal en base 10 d’un float (37 ou moins)
C FLT_EPSILON différence entre 1 et le float supérieur le plus proche (1e-5 ou moins)
C FLT_MIN valeur absolue minimale d’un float (1e-37 ou moins)
C FLT_MAX valeur absolue maximale d’un float (1e37 ou plus)
C DBL_MANT_DIG nombre de chiffres significatifs en base FLT_RADIX d’un double
C DBL_MIN_EXP exposant minimal en base FLT_RADIX d’un double
C DBL_MAX_EXP exposant maximal en base FLT_RADIX d’un double
C DBL_DIG nombre de chiffres significatifs en base 10 d’un double (10 ou plus)
C DBL_MIN_10_EXP exposant minimal en base 10 d’un double (-37 ou moins)
C DBL_MAX_10_EXP exposant minimal en base 10 d’un double (37 ou moins)
C DBL_EPSILON différence entre 1 et le double supérieur le plus proche (1e-5 ou moins)
C DBL_MIN valeur absolue minimale d’un double (1e-37 ou moins)
C DBL_MAX valeur absolue maximale d’un double (1e37 ou plus)
C LDBL_MANT_DIG nombre de chiffres significatifs en base FLT_RADIX d’un long double
C LDBL_MIN_EXP exposant minimal en base FLT_RADIX d’un long double
C LDBL_MAX_EXP exposant maximal en base FLT_RADIX d’un long double
C LDBL_DIG nombre de chiffres significatifs en base 10 d’un long double (10 ou plus)
C LDBL_MIN_10_EXP exposant minimal en base 10 d’un long double (-37 ou moins)
C LDBL_MAX_10_EXP exposant minimal en base 10 d’un long double (37 ou moins)
C LDBL_EPSILON différence entre 1 et le long double supérieur le plus proche (1e-9 ou moins)
C LDBL_MIN valeur absolue minimale d’un long double (1e-37 ou moins)
C LDBL_MAX valeur absolue maximale d’un long double (1e37 ou plus)


Opérations sur les chaînes de caractères (<string.h>)



Opérations sur les zones de mémoire

F memset remplit une zone de mémoire par répétition d’un octet
F memcpy copie un zone de mémoire dans une zone disjointe
F memmove copie un zone de mémoire dans une autre
F memcmp compare une zone de mémoire à une autre
F memchr première occurrence d’un octet dans une zone


Opérations sur les chaînes

F strlen longueur d’une chaîne
F strcpy copie une chaîne dans une zone de mémoire
F strncpy copie une chaîne limitée en longueur dans une zone de mémoire
F strcat concatène une chaîne à la suite d’une autre
F strncat concatène une chaîne limitée en longueur à la suite d’une autre
F strcmp compare deux chaînes
F strncmp compare deux chaînes limitées en longueur
F strcoll compare deux chaînes en tenant compte des paramètres régionaux
F strxfrm met une chaîne sous une forme « normale »
F strchr première occurrence d’un caractère dans une chaîne
F strrchr dernière occurrence d’un caractère dans une chaîne
F strpbrk première occurrence d’un caractère d’un ensemble de caractères donné
F strspn longueur du préfixe maximal constitué de caractères d’un ensemble de caractères donné
F strcspn longueur du préfixe maximal sans caractère d’un ensemble de caractères donné
F strstr première occurrence d’une chaîne dans une autre
F strtok découpage d’une chaîne à chaque caractères d’un ensemble donné
F strerror chaîne décrivant un code d’erreur


Divers

T size_t voyez stddef.h
C NULL voyez stddef.h


Classification des caractères (<ctype.h>)



M isprint teste si un caractère a un glyphe
M isgraph teste si un caractère a un glyphe, non blanc
M isalnum teste si un caractère est une lettre ou un chiffre
M isalpha teste si un caractère est une lettre
M isupper teste si un caractère est une lettre majuscule
M islower teste si un caractère est une lettre minuscule
M isdigit teste si un caractère est un chiffre
M isxdigit teste si un caractère est un chiffre hexadécimal
M ispunct teste si un caractère est un signe de ponctuation
M isspace teste si un caractère est une sorte d’espace
M iscntrl teste si un caractère est un caractère de contrôle
M tolower convertit un caractère en minuscule
M toupper convertit un caractère en majuscule


Fonctions mathématiques (<math.h>)



Sous les systèmes de type Unix, il faut lier le programme avec la bibliothèque -lm.

F fabs valeur absolue
F fmod reste
F ceil plafond
F floor plancher
F modf parties entières et fractionnaires
F cos cosinus
F sin sinus
F tan tangente
F acos arc cosinus
F asin arc sinus
F atan arc tangente
F atan2 arc tangente de deux variables avec ajustement du cadrant
F exp exponentielle
F cosh cosinus hyperbolique
F sinh sinus hyperbolique
F tanh tangente hyperbolique
F log logarithme népérien
F log10 logarithme en base 10
F pow puissance
F sqrt racine carrée
F frexp décomposition en fraction normalisée en base 2
F ldexp produit par une puissance de 2
C HUGE_VAL valeur représentant un dépassement de capacité


Entrées, sorties et manipulations de fichiers (<stdio.h>)



Opérations sur les fichiers

C FILENAME_MAX taille recommandée d’un tableau contenant un nom de fichier
C L_tmpnam taille requise d’un tableau pour un nom de fichier temporaire
C TMP_MAX minimum garanti de noms de fichier temporaires uniques
F remove supprime un fichier
F rename renomme (déplace) un fichier
F tmpnam génère un nom de fichier temporaire


Opérations sur les flux

T FILE flux d’entrée ou de sortie
T fpos_t position dans un fichier ; pour fgetpos et fsetpos
C FOPEN_MAX minimum garanti de fichiers pouvant être ouverts simultanément
C EOF indicateur de fin d’erreur ou de fin de fichier
V stdin flux entran standard (souvent, la console)
V stdout flux sortant standard (souvent, la console)
V stderr flux sortant pour les erreurs (souvent, la console)
F tmpfile ouvre un flux temporaire
F fopen ouvre un fichier
F fclose ferme un flux
F freopen rouvre un fichier
F feof différencie une fin de fichier d’une erreur
F ferror différencie une erreur d’une fin de fichier
F clearerr suppression de l’indicateur d’erreur sur un flux
F ftell position actuelle du curseur d’un flux
F fseek déplace le curseur dans un flux
F rewind déplace le curseur d’un flux au début
C SEEK_SET point de référence pour fseek : début du flux
C SEEK_CUR point de référence pour fseek : position actuelle
C SEEK_END point de référence pour fseek : fin du flux
F fgetpos position étendue du curseur (fpos_t)
F fsetpos déplace le curseur à une position étendue (fpos_t)
F setbuf active l’emploi d’un tampon complet pour un flux
F setvbuf décide de l’emploi d’un tampon pour un flux
C _IOFBF mode pour setvbuf : emploi d’un tampon complet
C _IOLBF mode pour setvbuf : emploi d’un tampon pour une ligne
C _IONBF mode pour setvbuf : emploi d’aucun tampon
C BUFSIZ taille par défaut du tampon
F fflush force la synchronisation d’un flux sortant avec son support


Opérations d’entrée et de sortie

F fgetc lit un caractère
M getc version macro de fgetc ; lit un caractère
M getchar lit un caractère sur stdin
F fputc écrit un caractère
M putc version macro de fputc; écrit un caractère
M putchar écrit un caractère sur stdout
F ungetc ajoute un caractère à lire au début d’un flux entrant
F fgets lit une ligne
F fputs écrit une chaîne de caractères
F puts écrit une chaîne de caractères et retour à la ligne sur stdout
F fread lit par blocs
F fwrite écrit par blocs
F fscanf lit selon un format
F scanf lit selon un format sur stdin
F fprintf écrit selon un format
F printf écrit selon un format sur stdout
F vfprintf écrit selon un format avec une va_list
F vprintf écrit selon un format avec une va_list sur stdin
F sscanf lit selon un format depuis une chaîne
F sprintf écrit selon un format, dans une chaîne
F vsprintf écrit selon un format, dans une chaîne, avec une va_list
F perror écrit un message d’erreur associé à la valeur d’errno


Divers

T size_t voyez stddef.h
C NULL voyez stddef.h
F gets dangereuse


gets n’aura pas plus de description. Si vous aviez une vraie raison vous poussant à l’utiliser (et je n’en vois aucune), vous n’auriez pas besoin de moi pour vous la rappeler.

Utilitaires généraux (<stdlib.h>)



Interaction avec l’environnement

F abort abandonne (termine brutalement) le programme
F atexit enregistre une fonction à exécuter en fin de programme
F exit termine l’exécution du programme
C EXIT_FAILURE code pour exit : échec
C EXIT_SUCCESS code pour exit : réussite
F getenv récupère une variable d’environnement par son nom
F system exécute une commande au shell


Gestion de la mémoire

F malloc alloue un bloc de mémoire
F calloc alloue un tableau dont les bits sont initialisés à 0
F free libère de la mémoire précédemment allouée
F realloc change la taille d’un bloc de mémoire


Utilitaires

T div_t type de retour de div
T ldiv_t type de retour de ldiv
F abs valeur absolue d’un int
F labs valeur absolue d’un long
F div division euclidienne d’int
F ldiv division euclidienne de long
F strtol convertit un nombre sous forme textuelle en long
F strtoul convertit un nombre sous forme textuelle en unsigned long
F strtod convertit un nombre sous forme textuelle en double
F atoi convertit un nombre sous forme textuelle en int
F atol convertit un nombre sous forme textuelle en long
F atof convertit un nombre sous forme textuelle en float
F qsort trie un tableau
F bsearch recherche dans un tableau trié


Chaînes de caractères polyoctets

V MB_CUR_MAX nombre maximal d’octets par caractère polyoctet avec les paramètres régionaux en vigueur
F mblen longueur d’un caractère polyoctet
F mbtowc convertit un caractère polyoctet en caractère étendu
F wctomb convertit un caractère étendu en caractère polyoctet
F mbstowcs convertit une chaîne de caractères polyoctets en chaîne de caractères étendus
F wcstombs convertit une chaîne de caractères étendus en chaîne de caractères polyoctets


Nombres aléatoires

C RAND_MAX nombre maximal pouvant être généré par rand
F srand initialise le générateur aléatoire
F rand génère un entier aléatoire


Divers

T size_t voyez stddef.h
T wchar_t voyez stddef.h
C NULL voyez stddef.h


Dates et heures (<time.h>)



T time_t type arithmétique représentant le temps écoulé depuis l’Époque
T struct tm date et heure sous forme décomposée
T clock_t nombre de battements renvoyés par clock
C CLOCKS_PER_SEC nombre de battements renvoyés par clock par seconde
F time instant présent
F difftime nombre de secondes entre deux time_t
F mktime crée un time_t à partir d’un struct tm
F gmtime décompose un time_t en un struct tm selon l’heure <acronyme valeur="">GMT</acronyme>
F localtime décompose un time_t en un struct tm selon l’heure locale
F strftime écrit un struct tm selon un format, dans une chaîne
F ctime convertit un time_t en représentation textuelle
F asctime convertit un struct tm en représentation textuelle
F clock compteur temporel usant d’une unité arbitraire
T size_t voyez stddef.h
C NULL voyez stddef.h


Diagnostic (<assert.h>)



M NDEBUG supprime les appels à assert si défini
M assert abandon conditionnel du programme avec message d’erreur


Gestion des erreurs du système (<errno.h>)



V errno en cas d’erreur, expression la décrivant
C EDOM valeur possible d’errno : erreur mathématique de domaine
C ERANGE valeur possible d’errno : erreur mathématique d’intervalle


Gestion des signaux (<signal.h>)



T sig_atomic_t type entier muni d’opérations atomiques
F raise émet un signal
F signal enregistre une action à effectuer à la réception d’un signal
C SIGABRT signal d’abandon du programme
C SIGFPE signal d’erreur de calcul flottant
C SIGILL signal d’instruction illégale
C SIGINT signal interactif
C SIGSEGV signal d’erreur d’accès à la mémoire
C SIGTERM signal de terminaison extérieure du programme
C SIG_DFL action pour signal : action par défaut
C SIG_IGN action pour signal : ignore un signal reçu
C SIG_ERR valeur indicant une erreur


Considérations régionales (<locale.h>)



T struct lconv paramètres régionaux
C LC_ALL catégorie pour setlocale : toute catégorie
C LC_COLLATE catégorie pour setlocale : ordre des caractères
C LC_CTYPE catégorie pour setlocale : classification des caractères
C LC_MONETARY catégorie pour setlocale : système monétaire
C LC_NUMERIC catégorie pour setlocale : nombres
C LC_TIME catégorie pour setlocale : dates et heures
F setlocale change ou examine la locale en vigueur
F localeconv informations sur l’écriture des nombres
C NULL voyez stddef.h


Gestion des listes d’arguments variables (<stdarg.h>)



T va_list liste d’arguments variable
M va_start début d’itération sur une liste d’arguments variable
M va_arg prochain argument dans une liste d’arguments variable
M va_end fin d’itération sur une liste d’arguments variable


Sauts inter-procéduraux (<setjmp.h>)



T jmp_buf informations contextuelles pour les sauts
F setjmp sous certaines réserves, sauvegarde le contexte actuel
F longjmp téléporte vers un contexte sauvegardé

  • Partager sur Facebook
  • Partager sur Twitter
5 janvier 2006 à 16:21:53

salut

merci c'est une bonne idée d'avoir lister tout ça mais tu devrais mettre le topic en post-it sinon il va se perdre ;-)
+
  • Partager sur Facebook
  • Partager sur Twitter
5 janvier 2006 à 16:31:14

Bah, je me demande si ce que je dis intéresse encore quelqu'un sur ce forum, tout le monde ne fait que critiquer tout ce que je raconte alors bon ; je leur balance le truc et si ça ne plait pas bah ça coulera et tant pis pour eux.

L'ignorance est un choix.
  • Partager sur Facebook
  • Partager sur Twitter
5 janvier 2006 à 16:35:04

mais non ça interesse des gens voyons.

Moi j'ai déjà essayé d'ouvrir des librairies standards genre stdio ou quoi et j'ai fais une crise cardiaque avant de tout refermer ^^
Je pense que ta petite liste sera bien plus intructive

ps: la bave du crapaud n'atteint pas la blanche colombe dit-on ^^
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
5 janvier 2006 à 16:43:27

Non rz0, ça nous intéresse, moi j'écoute tout ce que tu dis :D

C'est une bonne idée ça, moi quand je ne connaissais pas du tout ces fonctions, je commençais à coder mes petits trucs de manipulation de chaîne, je réinventais la roue, mais une fois qu'on sait au moins que des fonctions existent, c'est bien plus pratique. Il est donc plutôt important de connaître ces fonctions, ou au moins savoir qu'elles existent. Puis elles sont bien utiles dans certains cas où le fait de réécrire la fonction ferait perdre de la portabilité (cas des vérifications du genre isalpha() ou de l'utilisation des size_t qu'on doit utiliser pour faire un programme portable).

louisclem, disciple de rz0
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
5 janvier 2006 à 17:42:09

C'est super pratique, merci beaucoup!!!
(j'ai du mal avec l'anglais mais ça va venir!)
  • Partager sur Facebook
  • Partager sur Twitter
5 janvier 2006 à 17:50:15

Tu devrais véritablement post-iter ton message. Ca permettrait entre autre de s'y réferer facilement lorsque tu donnes une indication, et ça éviterait à des gens de demander dans quelle librairie se trouve telle ou telle fonction. Ca permettrait également à des personnes qui connaissent bien le C notamment pour faire de la programmation système, d'enrichir ce document au fur et à mesure. (pthread.h, et autres semaphores verrous (mutex) etc...)

Au passage je te remercie beaucoup pour ton travail, c'est très enrichissant.


PS : dans tous tes projets (et je sais que tu en as beaucoup), tu n'as jamais envisagé de faire une doc pour le C ?
(un peu comme la doc du site de sun pour Java )
  • Partager sur Facebook
  • Partager sur Twitter
5 janvier 2006 à 17:59:09

Il y a déjà divers endroits où l'on trouve ça. Notamment ici : http://www.dinkumware.com/refxc.html
Pour les autres fonctions, je pense que ce serait trop le bordel parce qu'elles sont nombreuses ; à la rigueur, pour POSIX 1 ça doit être possible.
  • Partager sur Facebook
  • Partager sur Twitter
5 janvier 2006 à 19:40:15

rz0, c'est pas parcequ'il y a quelques zér0s sur ce forum qui n'en ont rien à battre de ce que tu dis ( je crois savoir à quel sujet tu penses quand tu dis ca, j'y avais d'ailleurs participé ), que les autres qui te lisent ne s'y intéressent pas.

Tu sais trés bien que tu es sans doute le zér0 le mieux callé au niveau du C++, et ton expérience ne peut qu'aider, en tout cas elle ne nuira pas, même si elle peut en effet être inutile dans le cas où on ne s'en aide pas ... :(

... J'me sens philosophe là ... :p
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
5 janvier 2006 à 20:32:01

"Tu sais trés bien que tu es sans doute le zér0 le mieux callé au niveau du C++"
-> Boulette.
  • Partager sur Facebook
  • Partager sur Twitter
5 janvier 2006 à 20:45:13

Lol, certainement pas au niveau du C++, du C peut-être, je ne dis pas ; après tout, mon seul avantage sur les autres zéros qui font du C c'est que j'ai lu le(s) standard(s) plusieurs fois et que je lis quotidiennement c.l.c...
  • Partager sur Facebook
  • Partager sur Twitter
5 janvier 2006 à 21:58:16

mais c'est tres sinpatoche ce truc =)
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
5 janvier 2006 à 22:10:50

Tu les as appris par coeur aussi les standards hein ? Parce que quand tu nous dis c'est au point 1.4.5.3 ça en jette :p

J'aimerais bien les avoir mais après avoir regardé rapidement, ça coùte cher, très cher, je ne suis pas encore prêt à mettre environ 300€ pour du C. Il n'y a pas un moyen de les obtenir ou même consulter gratuitement ou peu cher ?
  • Partager sur Facebook
  • Partager sur Twitter
5 janvier 2006 à 22:20:56

Les versions électroniques coutent nettement moins. En plus, il y a les drafts en fait, que pratiquement tout le monde consulte comme référence (bien que ce soit parfois pas exact)
Pis pour le std, tu retiens vite fait où sont les choses après tu fais une recherche et tu cites le point en le relisant, ça te l'apprend.

Le dernier draft est ici : http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf
  • Partager sur Facebook
  • Partager sur Twitter
5 janvier 2006 à 22:23:37

Je voulais dire du C bien sur ^^:p
  • Partager sur Facebook
  • Partager sur Twitter
6 janvier 2006 à 18:07:29

c.l.c? C'est quoi? >< ça sonne comme un magazine de programmation...
  • Partager sur Facebook
  • Partager sur Twitter
6 janvier 2006 à 18:12:21

Nan, c'est un newsgroup, on y accède avec un lecteur de newsgroup et la plupart des clients mails le font. C'est comp.lang.c, renseigne toi sur Usenet, sur google.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
6 janvier 2006 à 19:19:23

Merci bien rz0, j'ai regardé un peu le draft, d'après ce que je vois c'est comme si c'était le vrai standard, mais de toute façon je suppose que les modifications où travaux en cours se passent surtout sur des ajouts et nouveautés(fonctions standards, prépocesseur...), et pas les bases du langages qui n'évoluent de toute façon peu par soucis de compatibilité avec les anciens codes.

Merci merci merci ;);)
  • Partager sur Facebook
  • Partager sur Twitter
8 janvier 2006 à 16:12:37

Merci pour cette liste, je vais en utiliser même pas 1/10 mais merci quand même :D
  • Partager sur Facebook
  • Partager sur Twitter
14 janvier 2006 à 9:07:13

Snif le plus dur c'est de savoir que je vais pas réussir à toutes les retenir...

lol.

Au fait : Standard C.
  • Partager sur Facebook
  • Partager sur Twitter
14 janvier 2006 à 9:08:56

Lol, avec le temps tu connais la plupart, les autres sont moins utiles. ;)
  • Partager sur Facebook
  • Partager sur Twitter
14 janvier 2006 à 9:13:11

^^ Ouf je revis...

Citation : rz0


Le dernier draft est ici : http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf



Le lien est mort il me semble non ?
  • Partager sur Facebook
  • Partager sur Twitter
18 janvier 2006 à 20:18:58

Mais j'ai pas très très bien compris a quoi servait toute ces liste et a quoi elle correspondent....Ne m'engeuler pas please! :-°
  • Partager sur Facebook
  • Partager sur Twitter
18 janvier 2006 à 20:23:32

Le lien n'est pas mort du tout ;
Cette liste sert à donner une idée des fonctions qui existent en C standard et aussi à regarder si ce que l'on utilise est standard.
  • Partager sur Facebook
  • Partager sur Twitter
19 janvier 2006 à 12:11:13

tiens c'est marant ca une librairie d'erreurs

Citation : rz0

A.3.1 ERRORS <errno.h>

lol
en tout cas c'est sympa d'avoir posté ca, merci bcp :)
  • Partager sur Facebook
  • Partager sur Twitter
25 janvier 2006 à 21:14:35

Mais c'est sympa toute ces listes! encor mieu si je savais a quoi servait toute ces fonctions :p non, je plaisante, ca rentre quand meme un peu ^^
sinon le lien de mleg est sympa parce que y a une "explication" pour les fonctions repertoriees (enfin, celles que j'ai vues) en tout cas, bonne initiative !

EDIT a desole je n'avais pas vu la partie du topic qui explique comment savoir ce que fait la fonction :euh: encore une fois j'ai mis la peau de l'ours avant de vendre la charrue ^^
  • Partager sur Facebook
  • Partager sur Twitter
26 janvier 2006 à 13:41:21

C'est pas tout à fait dans le sujet mais bon.
J'ai vu une source d'OS qui redifnissait stdarg via des macros très simple. Je voulais savoir si dans le standard C c'est la meme chose ou les fonctions sont des monstres de complexité ?
  • Partager sur Facebook
  • Partager sur Twitter
26 janvier 2006 à 15:26:06

Le standard ne définit pas comment stdarg.h doit être implémenté. Chaque implémentation doit fournir son propre stdarg.h et le définit comme il convient à l'implémentation.
  • Partager sur Facebook
  • Partager sur Twitter
20 mars 2006 à 15:16:26

Citation : mleg

^^ Ouf je revis...

Citation : rz0


Le dernier draft est ici : http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf



Le lien est mort il me semble non ?


Non, mais c'est un gros PDF. Il faut être patient...
  • Partager sur Facebook
  • Partager sur Twitter
Music only !