CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Question sur fgets

Kexchoklad
Kexchoklad
Niveau 8
28 novembre 2012 à 11:25:26

Bonjour,

J'aimerais pouvoir lire un texte rentré par l'utilisateur et le mettre dans le pointeur de tableau de char list_etu->nom[i] mais ça ne fonctionne pas en faisant :
fgets(list_etu->nom[i], 50, stdin);

je suppose que j'utilise mal la fonction fgets. :(

J'aimerais aussi savoir si il est possible d'utiliser l'algo "saisie" pour lire le texte entré et l'enregistrer avec list_etu->nom[i] et list_etu->prenom[i] en spécifiant si je veux ->nom[i] ou ->prenom[i] dans l'appel de "saisie" mais je ne sais pas comment faire, si encore c'est possible... :(

Voilà la partie concernée du code pour être un peu plus clair :

struct etudiant etu, *list_etu = &etu;
int size, i=0;

void saisie(){
fflush(stdin);
fgets(list_etu, 50, stdin);
}

la structure :

struct etudiant{
char nom[50], prenom[50];
};

Eclairez ma lanterne s'il vous plaît :svp:

godrik
godrik
Niveau 30
28 novembre 2012 à 15:37:16

fgets(list_etu->nom, 50, stdin); devrait marcher

Kexchoklad
Kexchoklad
Niveau 8
28 novembre 2012 à 15:57:49
  1. include <stdio.h>
  2. include <stdlib.h>
  3. include "ex22.h"

void ex22(){
struct etudiant etu, *list_etu = &etu;
int size, i=0;

printf("Entrez les differents paramètres :\nnom : ");
fgets(list_etu->nom, 50, stdin);
}

Ça marche mais je me suis rendu compte que mon problème d'au-dessus était différent.
list_etu renvoie vers un tableau de type "etudiant".

J'aimerais pouvoir enregistrer le texte saisi dans etu[i], par exemple avec "nom", avoir etu[0].nom

fgets(list_etu[0]->nom, 50, stdin);

Comment l'écrire ? :(

godrik
godrik
Niveau 30
28 novembre 2012 à 15:59:26

fgets(list_etu[0].nom, 50, stdin);

Kexchoklad
Kexchoklad
Niveau 8
28 novembre 2012 à 17:21:45

Merci godrik. Je vois pas trop pourquoi ça fonctionne ainsi encore mais ça donne le résultat que j'attends.

Je voulais aussi savoir (et ouais encore :hap: ) si il y avait un moyen de rendre "saisie" polyvalente pour pouvoir l'utiliser avec list_etu[i].nom et list_etu[i].prenom

void saisie( :d) paramètre d'entrée ? :g) ){
fflush(stdin);
fgets(list_etu[i] :d) enregistrer dans list_etu[i].nom ou list_etu[i].prenom suivant le paramètre d'entrée :g) , 50, stdin);
}

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment