[C] probleme de fgets()

probleme de fgets() [C] - Programmation

Marsh Posté le 17-03-2001 à 14:51:10    

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)

Reply

Marsh Posté le 17-03-2001 à 14:51:10   

Reply

Marsh Posté le 17-03-2001 à 23:18:09    

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
Reply

Marsh Posté le 18-03-2001 à 01:42:54    

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

Reply

Marsh Posté le 19-03-2001 à 09:13:41    

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
Reply

Marsh Posté le 19-03-2001 à 11:13:03    

oui c vrai, je suis trop con, merci !

Reply

Marsh Posté le 19-03-2001 à 12:14:00    

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
Reply

Marsh Posté le 19-03-2001 à 15:11:28    

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
Reply

Marsh Posté le 19-03-2001 à 15:39:52    

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
Reply

Sujets relatifs:

Leave a Replay

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