[C] chaine de caractere ?

chaine de caractere ? [C] - Programmation

Marsh Posté le 11-11-2001 à 18:00:47    

Comment effacer un caractere dans une chaine de caractere, exemple :
 
chaine1 : " le chien mange la souris "
 
Je veux efface le n de mange donc avoir :
 
chaine1 : " le chien mage la souris "
 
Est-ce qu'il existe une fonction en C qu'il le fasse directement.
 
merci

Reply

Marsh Posté le 11-11-2001 à 18:00:47   

Reply

Marsh Posté le 11-11-2001 à 18:03:33    

non je crois pas que ca existe en c pure.. au pire tu fais ta propre fonction ..
 
tu lis ta chaine tant que pas de '\0' et tu copies dans une autre chaine de caracteres ta premiere chaine SAUf si tu tombes sur le caractere à exclure

Reply

Marsh Posté le 11-11-2001 à 18:13:11    

Et une fonction qui supprimerais tous les caracteres autres que les lettres et le caractere espace ?

Reply

Marsh Posté le 11-11-2001 à 18:15:15    

Y a pas non plus.
C'est à toi de l'écrire.

Reply

Marsh Posté le 11-11-2001 à 18:17:41    

Cai pas bien le C !
 
Bon alors je vais faire ma fonction, ça me fera du bien de bosser un petit peu.

Reply

Marsh Posté le 12-11-2001 à 09:51:00    

Si on contracte la chaîne, en gérant la position (pointeur) de lecture et celle d'écriture, il y a même moyen de ne pas créer de chaîne nouvelle.  :)  
On lit un caractère, si "bon", on lit le suivant. Si pas bon (selon le critère choisi), on explore les suivants (jusqu'à fin de chaîne) pour les réécrire à leur future place. A la fin, on met un '\0' après le dernier caractère pour terminer la chaîne.

Reply

Sujets relatifs:

Leave a Replay

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