Bonjour,
Je cherche une fonction du même type que le get_line de l'ADA mais en C.
Bonjour,
Je cherche une fonction du même type que le get_line de l'ADA mais en C.
Si tu ne nous dit pas ce que c'est sensé faire...
Il n'y en a pas.
Le plus proche, c'est fgets() (couplé à une fonction du forum, qu'on appelle fclean()).
Au-delà, pour lire une ligne sans taille maximale, il faut utiliser l'allocation dynamique en boucle et ça devient plus compliqué.
Ben c'est ce que fait getline()...
getline, c'est une extension GNU C, non? En tout ça, c'est pas standard.
Thierry
Comme indiqué dans la doc, c'est effectivement une extension GNU.
Edit: Mince, je n'avais même pas vu le double dont j'ai été victime...
WARNING
Je viens d'utiliser getline() (extension G.N.U.) mais j'ai eu quelques soucis avec cette fonction sur des plateformes 64 bits...
WARNING
au passage je profite pour poser une petite question :
est ce normal ou une mauvaise utilisation de ma part... (????!!!)
Ben, pas facile de répondre si on ne sait pas comment tu l'utilises...
fgets() n'est pas 'ancienne'. Elle fait partie du C depuis le début et est toujours la meilleure fonction de saisie de ligne du C.
getline() n'est pas standard C. (C'est peut être POSIX.1[1])
--------------
[1] en fait non, mais des propositions ont été faites à l'Opengroup qui gère POSIX)
En fait je me rappelle de mon erreur est clairement c'était a cause d'un abus de notation trop laxisme de ma part qui a fait buggué getline() sous les plateformes 64bits.
Donc je retire ma question précédente (et de surcroit sans poser le contexte comme m'a fait remarquer Medinoc, c'était une question idiote... DSL )
Par contre je me rappel que lorsque j'utilisais getline() a ma forte habitude je compilais avec :
Et gcc ne me criait pas dessus alors je suppose que ca doit etre normalisé non...???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 gcc -W -Wall -Wextra -pedantic -ansi
A faire attention avec getline() il compte egalement le caractere de fin de ligne '\n', des fois ca peut etre source d'erreur......
Tout comme fgets(). D'ailleurs il n'y a aucune raison qu'il en soit autrement. Le caractère '\n' fait partie de la ligne et a autant de droit que les autres caractères. C'est ne pas le compter qui serait source d'erreur...
Ben c'est une parfaite définition de l'adjectif "ancien". On ne peut pas trouver plus ancien qu'un truc qui existe depuis le début...
Parfaitement !Envoyé par dapounet
Envoyé par 3.8 Options to Request or Suppress Warnings
Généralement de nos jours, on ajoute au moins -Wwrite-strings (qui n'est pas pris en charge par -Wextra).
merci de toutes vos réponses finalement j'ai réussi et faire ce que je voulais avec argc et argv, ce que je voulais c'est rentrer le nom d'un fichier à charger avec une variable qui ne contient que le nombre de character nécessaire
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager