Bonjour à tous et à toutes !
Je m'adresse à vous car j'ai un petit problème de saisie lors de l'utilisation de la fonction fgetsJ'ai donc besoin que l'utilisateur entre une suite de caractères pour que celle-ci soit stockée dans un tableau de type char.
J'aimerais par la suite retranscrire cette suite.
Je ne m'occupe pas de vider le buffer pour le moment car j'aimerais que ma fonction fgets fonctionne d'abord.
Voici le code de ma fonction :
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 #include <stdlib.h> #include <stdio.h> #include <windows.h> #include <string.h> #include "fonction.h" void modifNom (char hero[100],int taille) // Fonction qui permet de changer le nom d'un hero. { printf("==============-------- Choix du nom de %s --------==============\n", hero); printf("\nVeuillez entrer le nouveau nom de %s ne depassant pas %d caracteres\net sans espaces\n", hero, taille); // Affiche le nom actuel du hero fgets(hero, sizeof hero, stdin);// lit le nouveau nom et l'enregistre printf("Le nouveau nom est : "); printf("%s \n", hero); // affiche le nouveau nom du héro system("PAUSE"); }
Mon problème est que quand la fonction se lance dans mon programme, elle affiche tout en bloc et s'arrête à l'instruction system("PAUSE").
Et, du coup, elle ne renvoie rien dans la variable hero et le nom de mon héros est remplacé par du vide.
Si quelqu'un remarque une erreur dans mon code ou si quelqu'un a une astuce à me donner,
Je suis toute ouïe !
Partager