Détection des éspaces dans un fichier qui contient du texte

apu04 Messages postés 29 Date d'inscription jeudi 11 juin 2009 Statut Membre Dernière intervention 9 juillet 2013 - 12 janv. 2010 à 10:34
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 12 janv. 2010 à 16:59
Bonjour à tous,
J'aimerais savoir si c'est possible de détecter un espace dans un fichier texte, si oui avec quelle fonction sachant que je travaille avec du code en C,
Merci d'avance.

8 réponses

apu04 Messages postés 29 Date d'inscription jeudi 11 juin 2009 Statut Membre Dernière intervention 9 juillet 2013
12 janv. 2010 à 11:02
Merci CptPingu
0
apu04 Messages postés 29 Date d'inscription jeudi 11 juin 2009 Statut Membre Dernière intervention 9 juillet 2013
12 janv. 2010 à 15:38
ReBonjour,

Existe-t-il une fonction pour extraire un contenu se trouvant entre deux pointeurs de type char???

Merci d'avance
0
apu04 Messages postés 29 Date d'inscription jeudi 11 juin 2009 Statut Membre Dernière intervention 9 juillet 2013
12 janv. 2010 à 15:40
Ou plutôt supprimer tout, sauf ce qu'il y a entre les deux pointeur.
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
12 janv. 2010 à 15:41
strncpy

Ex:
char* debut char* fin
char* receveur = <malloc d'une taille suffisante>
strncpy(receveur, debut, fin - debut)

Recopiera dans la variable receveur, la chaîne entre debut et fin.

_____________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
apu04 Messages postés 29 Date d'inscription jeudi 11 juin 2009 Statut Membre Dernière intervention 9 juillet 2013
12 janv. 2010 à 15:54
Merci encore une fois CptPingu :-)
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
12 janv. 2010 à 15:57
Ou plutôt supprimer tout, sauf ce qu'il y a entre les deux pointeur.

Tu utilises la même technique, sauf que tu recopies le contraire. C'est à dire:
- Du début de la chaîne au pointeur "debut"
- Du pointeur "fin" à la fin de la chaîne.

Ensuite tu concatènes les deux chaînes obtenues grâce à "strcat".

_____________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
12 janv. 2010 à 16:59
tu as lu nbytes à l'adresse pmem:

On supprime tous les espaces:
char *c, *d;
c d pmem;
do {
if(*c !' ') *d++ *c;
c++;
} while(--nbytes);

C'est vidangé des espaces.
Te reste qu'à réécrire (d - pmem) octets.

ciao...
BruNews, MVP VC++
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
12 janv. 2010 à 10:52
Tu parcours ton fichier et tu repères le caractère ' '. Si tu t'intéresses à tous types d'espacement (saut de ligne, tabulation, espace, ...), alors tu peux utiliser la fonction "isspace".

Pour ouvrir un fichier, tu as fopen, et fclose pour le refermer. Tu as ensuite plusieurs méthodes pour lire dans un fichier, je te laisse faire les recherches appropriées sous Google.

_____________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]
-1
Rejoignez-nous