bonjour a tous,
j'ai un probleme a savoir elliminer les caracteres vides dans une chaine de caracteres, quelqu'un pourrait me dire comment le faire en c
merci
Version imprimable
bonjour a tous,
j'ai un probleme a savoir elliminer les caracteres vides dans une chaine de caracteres, quelqu'un pourrait me dire comment le faire en c
merci
Salux,
Une fois que tu auras défini qu'est ce qu'un caractère vide, tu auras fait la moitié du boulot
je prends pour exemple
j'obtient une valeur differente de 0, et mon probleme est comment enlever ces caracteres vide de ch1 pour avoir 0 comme resultat de strcmpCode:
1
2
3
4 char ch1[20] = " salut"; char ch2[20] = "salut"; printf("res strcmp is: %d", strcmp(ch1,ch2));
merci
Ah, tu veux enlever les espaces ?
Eh bien, tu peux soit décaler les caractères pour écraser les espaces, soit recopier tous les caractères différents d'un espace dans une nouvelle chaîne.
Eliminer les espaces superflus tout simplement ;)
merci pour vos réponses, bien j'avais espoir qu'il existe une fonction qui elimine les espaces superflus et que je ne trouvais pas, quelqu'un sait si il existe une de la sorte avec Glib? si oui laquelle?
merci
Pas à ma connaissance mais je viens de te donner une fonction qui le fait très bien !Citation:
Envoyé par tcharles
Jconnais pas Glib, mais d'apres moi il n'y a pas et il n'y aura pas de librairie "ultime" pour la gestion des chaines car il ya plusieurs façon de les gérer
* fonctions qui lisent une chaine d'entrée et ecrivent la chaine resultat dans une zone passée par l'utilisateur
* fonctions qui allouent et retournent une nouvelle zone à la bonne taille
* fonctions qui modifient la chaîne d'entrée elle même
* variantes de ces 3 types de fonctions, sur l'implementation ou sur l'utilisation
Ou encore Eliminer les espaces superflus n°2 ou bien l'ADT C_Str écrit par Franck et en particulier les fonction C_Str_lstrip() et C_Str_rstrip(). Que de resources!Citation:
Envoyé par Franck.H
Thierry
Bonjour,
Va voir du côté de "String Utility Functions" de chez GLib, il doit avoir une fonction ou une macro qui s'appele g_strstrip.
COMMENTAIRE
Mais bon, ajoute GLib pour une fonction aussi élémentaire...
merci pour vos réponses pour ce qui est de la fonction c je l'ai deja noté, en ce qui concerne glib effectivement ca existe la fonction g_strstrip().
merci
Gagné: g_strstrip(). Il y a aussi g_strgchug() et g_strchomp() pour éliminer spécifiquement les espaces en début et fin de chaine, respectivement.Citation:
Envoyé par jowo
EDIT: tu l'as trouvée avant... Désolé pour le doublon!
Thierry
Bon forcément s'ils s'amusent à en changer les noms c'est sûr que j'ai pas trouvé, moi je cherchais avec trim dans le nom :lol:Citation:
Envoyé par mujigka