IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Rust Discussion :

Récupération simple d'un u16 entré au clavier


Sujet :

Rust

  1. #1
    Membre à l'essai
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Janvier 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Janvier 2018
    Messages : 19
    Points : 19
    Points
    19
    Par défaut Récupération simple d'un u16 entré au clavier
    Bonjour

    Je me tourne vers vous j'aimerai récupérer une variable clavier directement en u16 car je n'arrive à le faire que de manière compliqué en passant par 2 cast (String -> u8 puis u8 -> u16).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     
      let mut input = String::new();
     
        println!("entrer un nombre");
    // On rentre un chiffre (malheureusement en String)
     
        let stdin= = stdin();
        stdin.read_line(&mut nombre).unwrap();
        let nombre_u8 = nombre.as_bytes().to_owned();
        let nombre_u8_array = [0x00,nombre_u8[0]];
        let nombre_u16 = u16::from_le_bytes(nombre_u8_array);
    // On ressort le même chiffre en u16
     
        println!("{nombre_u16}");
    Auriez-vous une idée pour faire cette tambouille de façon simple
    D'avance merci pour votre aide.

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 600
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 600
    Points : 56 698
    Points
    56 698
    Billets dans le blog
    40
    Par défaut
    Bonjour,

    Je suis très débutant (et pour longtemps encore) dans ce langage, mais pourquoi ne pas utiliser parse() ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Janvier 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Janvier 2018
    Messages : 19
    Points : 19
    Points
    19
    Par défaut Parse() que ..
    J'ai déjà essayé mais ne dois mal codé car j'ai une erreur ParseIntError{ kind: InvalidDigit }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    let mut input = String::new();
     
        println!("entrer un nombre");
    // On rentre un chiffre (malheureusement en String)
     
        let stdin= = stdin();
        stdin.read_line(&mut nombre).unwrap();
        let nombre_u16 = nombre.parse::<u16>().unwrap();
     
        println!("{nombre_u16}");
    Voila l'essai raté.

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 600
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 600
    Points : 56 698
    Points
    56 698
    Billets dans le blog
    40
    Par défaut
    ligne 3, ta String s'appelle input, mais tu fais un read_line dans la variable nombre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        stdin.read_line(&mut input).unwrap();
        let nombre_u16 = input.parse::<u16>().unwrap();

  5. #5
    doc
    doc est déconnecté
    Membre averti

    Profil pro
    Inscrit en
    Août 2002
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 84
    Points : 413
    Points
    413
    Par défaut
    En fait quand on fait un read-line, on inclut un carriage return qu'il faut donc enlever avec trim-end()


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    let mut input = String::new();
     
        println!("entrer un nombre");
    // On rentre un chiffre (malheureusement en String)
     
        let stdin =  stdin();
        stdin.read_line(&mut input).unwrap();
        let nombre_u16 = input.trim_end().parse::<u16>().unwrap();
     
     
        println!("{:?}", nombre_u16);
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre à l'essai
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Janvier 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Janvier 2018
    Messages : 19
    Points : 19
    Points
    19
    Par défaut Merci
    Merci beaucoup pour cette aide, c'est très gentil de vous être penché dessus

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Un simple problème d'entrée au clavier
    Par chamsou_23i dans le forum Débuter
    Réponses: 10
    Dernier message: 29/05/2011, 19h47
  2. Réponses: 2
    Dernier message: 01/12/2005, 12h24
  3. bouton Ok = Touche Entrée du clavier
    Par Samanta dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 23/08/2005, 17h10
  4. Comment récuperer des données entrées au clavier?
    Par Elisée A. dans le forum MFC
    Réponses: 2
    Dernier message: 13/02/2004, 07h22
  5. [Turbo Pascal] Entrée au clavier sous forme ******
    Par Upal dans le forum Turbo Pascal
    Réponses: 12
    Dernier message: 15/02/2003, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo