Problème de lvalue required!!!!!!!!!!!

Résolu
Signaler
Messages postés
10
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
27 juin 2007
-
Messages postés
10
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
27 juin 2007
-
bonjour,
Je crée une aplication raison, afin de faciliter les saisies je voulais utiliser la fonction getchar(), mais cela m'affiche lvalue required suite au code suivant:
  

printf("quel protocole utilise vous? udp ou tcp\n");
proto = getchar();

Merci d'avance,Damien

7 réponses

Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
25
ta variable proto est bien déclarée ?   
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
25
getchar renvoit un caractere
il faut donc
char c;
c = getchar();

si tu veux sasir une chaine de caracteres regarde du coté de scanf et fgets
++
Messages postés
10
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
27 juin 2007

C'est une application réseau et non pas raison désolée.
Messages postés
10
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
27 juin 2007

oui elle est déclarée en variable globale, faut-il la mettre directement dans la fonction en variable ?
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
25
Normalement cela ne gene pas.
mais il faut que le type de la variable soit bien char ou int.
+  
Messages postés
10
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
27 juin 2007

il est bien déclaré en temps que tel:
char proto[256]; //ma variable globale

//type du protocole TCP ou UDP//
printf("quel protocole utilise vous? udp ou tcp\n");
proto=getchar();
Messages postés
10
Date d'inscription
jeudi 31 mai 2007
Statut
Membre
Dernière intervention
27 juin 2007

Au départ, j'ai mis scanf puis suite à différentes recherches sur internet, j'ai vu qu'il était préférable d'utiliser getchar ou fgets à la place de scanf.

Merci encore de l'aide. (le code source du programme sera dispnible à la fin du mois.)