Précédent   Forum du club des développeurs et IT Pro > C et C++ > C > Débuter
Débuter Forum d'entraide pour débuter en langage C. Avant de poster -> FAQ C
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 16/12/2012, 16h57   #1
the_cha0s
Invité régulier
 
Étudiant
Inscription : novembre 2008
Messages : 16
Détails du profil
Informations personnelles :
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2008
Messages : 16
Points : 9
Points : 9
Envoyer un message via MSN à the_cha0s
Par défaut Comparaison d'un caractere

Bonjour,
J'ai besoin de compter le nombre d'espace dans un chaîne de caractere le probleme c'est que le programme ne le fait pas voici mon code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
char * chaine;
    int taille=NULL;
    do {
    printf("Quelle sera la longueur de la chaine ?\n");
    scanf("%d",&taille);
    }while(taille<1);
    chaine=malloc((taille+1)*sizeof(char));
    printf("Entrez la chaine\n");
    scanf("%s",chaine);
    int compteurEsp=0;
    int i=0;
    while(i<taille)
        if(*(chaine+i++))==32)
            compteurEsp++;
    printf("Nbr de ' ' : %d\n",compteurEsp);
    free(chaine);
the_cha0s est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2012, 18h50   #2
diogene
Responsable Modération
 
Avatar de diogene
 
Homme Patrick Gonord
Enseignant Chercheur
Inscription : juin 2005
Messages : 5 434
Détails du profil
Informations personnelles :
Nom : Homme Patrick Gonord
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Enseignant Chercheur
Secteur : Enseignement

Informations forums :
Inscription : juin 2005
Messages : 5 434
Points : 12 955
Points : 12 955
La lecture s'arrête au premier blanc rencontré (exclu). Il y aura toujours 0 blancs.
__________________
Publication : Concepts en C

Mon avatar : Glenn Gould

--------------------------------------------------------------------------
Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !
diogene est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 16/12/2012, 20h25   #3
the_cha0s
Invité régulier
 
Étudiant
Inscription : novembre 2008
Messages : 16
Détails du profil
Informations personnelles :
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2008
Messages : 16
Points : 9
Points : 9
Envoyer un message via MSN à the_cha0s
Par défaut Re

Donc ça serait quoi la solution pour récupérer toute la ligne ?
the_cha0s est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2012, 21h32   #4
Neckara
Rédacteur
 
Avatar de Neckara
 
Homme Denis
Étudiant
Inscription : décembre 2011
Messages : 2 596
Détails du profil
Informations personnelles :
Nom : Homme Denis
Localisation : France, Loire (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2011
Messages : 2 596
Points : 7 019
Points : 7 019
Envoyer un message via MSN à Neckara Envoyer un message via Skype™ à Neckara
Pour récupérer toute une ligne, on utilise généralement la fonction fgets.
__________________
Recherche devs C++ motivés et sérieux pour Last Dungeon.

Chaîne Youtube : Vidéos

Ma page DVP : http://neckara.developpez.com/
Neckara est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2012, 21h42   #5
Bktero
Expert Confirmé Sénior
 
Avatar de Bktero
 
Ingénieur systèmes embarqués
Inscription : juin 2009
Messages : 1 704
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Ingénieur systèmes embarqués
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2009
Messages : 1 704
Points : 4 171
Points : 4 171
fgets


PS : grilled !
__________________
Si Code::Blocks vous dit undefined reference to 'socket@12', cela signifie que vous avez un problème d'édition des liens. Allez dans Projects / Build Options / Linker Settings / Add et renseigner ici les .a qui vont bien. Exemple pour les sockets : C:\Program Files\CodeBlocks\MinGW\lib\libws2_32.a

Pour les adeptes du langage SMS, allez ici et ramenez la traduction française ^^

Pour vos problèmes d'embarqué, utilisez le forum dédié !
Bktero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2012, 22h02   #6
the_cha0s
Invité régulier
 
Étudiant
Inscription : novembre 2008
Messages : 16
Détails du profil
Informations personnelles :
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2008
Messages : 16
Points : 9
Points : 9
Envoyer un message via MSN à the_cha0s
le prototype de fgets est le suivant :
Code :
char * fgets (char * s, int size, FILE * stream);
hors moi je n'utilise pas de fichier donc comment je pourrai récupérer le flux de lecture du clavier ??
the_cha0s est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2012, 22h37   #7
diogene
Responsable Modération
 
Avatar de diogene
 
Homme Patrick Gonord
Enseignant Chercheur
Inscription : juin 2005
Messages : 5 434
Détails du profil
Informations personnelles :
Nom : Homme Patrick Gonord
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Enseignant Chercheur
Secteur : Enseignement

Informations forums :
Inscription : juin 2005
Messages : 5 434
Points : 12 955
Points : 12 955
Citation:
comment je pourrai récupérer le flux de lecture du clavier ??
En utilisant l'argument stdin pour le paramètre stream.

Attention, fgets() met le '\n' terminant la ligne dans le buffer
n'est pas un test adapté pour les chaines de caractères : elles sont terminées par '\0' et il est préférable de tester le caractère dans la chaine pour savoir (quand il est égal à '\0') qu'on est arrivé à la fin.
__________________
Publication : Concepts en C

Mon avatar : Glenn Gould

--------------------------------------------------------------------------
Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !
diogene est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/01/2013, 00h34   #8
the_cha0s
Invité régulier
 
Étudiant
Inscription : novembre 2008
Messages : 16
Détails du profil
Informations personnelles :
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2008
Messages : 16
Points : 9
Points : 9
Envoyer un message via MSN à the_cha0s
Merci pour vos reponses !!
the_cha0s est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h10.


 
 
 
 
Partenaires

Hébergement Web