Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1268 connectés 

  FORUM HardWare.fr
  Programmation

  [C] probleme de fgets()

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] probleme de fgets()

n°18984
grahf
Posté le 17-03-2001 à 14:51:10  profilanswer
 

voila, je fais un fgets(buffer, 256, stdin); pour récupérer une chaine tapée par l'utilisateur sous la console. Le probleme c que je chope le '\n' final a la fin.
 
Pour le moment je dois faire un truc du style :
strncpy(buffer,nufer2,sizeof(buffer)-2);     //on vire le '\n' et le '\0' a la fin
strcat(buffer2, '\0');
 
mais c un petit peu lourd
 
Est ce qu'il y a pas une fonction C pour faire ca ?
(ou du style remplacer une chaine de car par une autre)

mood
Publicité
Posté le 17-03-2001 à 14:51:10  profilanswer
 

n°19034
R@NNIS
Tout est possible ou presque.
Posté le 17-03-2001 à 23:18:09  profilanswer
 

ben tu te la code toi meme cette fonction c est pas sorcier...
tu fais genre une fonction char * ki retourne la chaine sans '\n'
et hop le tour est joue.


---------------
Mes News
n°19053
grahf
Posté le 18-03-2001 à 01:42:54  profilanswer
 

oui, c deja ce que je fait, mais je me demandais si il y avait pas une fonction C qui le faisait deja
J'ai lu dans des docs la fonction strstr_sup qui ferait ca mais elle est pas reconnue par linux

n°19191
antp
Super Administrateur
Champion des excuses bidons
Posté le 19-03-2001 à 09:13:41  profilanswer
 

C'est tout simple quand même:
 
buf[strlen(buf)-1]=0;
tu mets un \0 à la place du \n, et c'est bon !
Y a 2 \0 mais c pas grave...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°19206
grahf
Posté le 19-03-2001 à 11:13:03  profilanswer
 

oui c vrai, je suis trop con, merci !

n°19221
Toxin
Carpe ★★ Vitam
Posté le 19-03-2001 à 12:14:00  profilanswer
 

Ca marche sous DOS/Windows ? Je croyais qu'il y avait 2 caractères pour le \n dans cet environnement ?


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
n°19262
antp
Super Administrateur
Champion des excuses bidons
Posté le 19-03-2001 à 15:11:28  profilanswer
 

Je croyais aussi, mais en général si je vire 2 caractères il me vire le dernier caractère, juste avant le retour de ligne... Serait-ce uniquement dans le hdd et pas dans les chaines que le \n prend deux caractères ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°19270
Toxin
Carpe ★★ Vitam
Posté le 19-03-2001 à 15:39:52  profilanswer
 

Eh bien si tu as fait le test oui c'est uniquement sur le hd.


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C] probleme de fgets()

 

Sujets relatifs
Problème de connexion à une BD Oracle 8Installshield ... ptit problème ...
probleme avec la combobox sous delphi ...Problème de session sous PHP4
Ptit probleme pour un site aspprobleme de hauteur de frameset dans netscape
petit probleme de proba...HTML - P'tit probleme de TAG (IFRAME Pour netscape ?)
[JAVA] Probleme pour 'adder' des JComponent dnas mon JPanel..[Open GL] problème de dll
Plus de sujets relatifs à : [C] probleme de fgets()


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR