Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [C] Cast

  1. #1

    [C] Cast

    Ragazzi,
    la funzione fgets ritorna un char.
    Come faccio a rendere quel char un int (ovviamente sono sicuro che la riga che prende è composta solo da un numero)?
    Ho provato ad usare il cast ma il numero non ha nulla a che fare con quello nel file
    Ho bisogno di prendere quel numero e di metterlo a controllare un ciclo for.
    Bye
    Conquista la folla, e conquisterai la libertà (Proximus - Il gladiatore)
    Il riferimento italiano per i Fans di Final Fantasy
    Scandalos member of APE

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    se sei sicuro che effettivamente sia un solo carattere
    e sia un carattere... fai cosi...




    risultato = (int)carattere - '0';

  3. #3
    Utente di HTML.it L'avatar di alexmaz
    Registrato dal
    May 2001
    Messaggi
    972
    ma da char a int il cast è implicito, il char è più piccolo ed è un tipo intero, rimane identico...
    The individual has always had to struggle to keep from being overwhelmed by the tribe. If you try it, you will be lonely often, and sometimes frightened. But no price is too high to pay for the privilege of owning yourself.

  4. #4
    Non capisco il problema.
    ciao ciao !!
    _______________
    home : cristianolongo.altervista.org
    e-mail : cristiano_longo@yahoo.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    credo che lui voglia convertire un numero
    stampabile (di una cifra soltanto da 0 a 9)
    in un numero "vero"...

  6. #6
    Utente di HTML.it L'avatar di alexmaz
    Registrato dal
    May 2001
    Messaggi
    972
    ah ok, allora hai ragione tu però non si chiama cast :tongue:
    The individual has always had to struggle to keep from being overwhelmed by the tribe. If you try it, you will be lonely often, and sometimes frightened. But no price is too high to pay for the privilege of owning yourself.

  7. #7
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    La funzione fgets restituisce un char*, non un char.
    La funzione fgetc restituisce un char.

    Inoltre, castando da char a int, si ottiene soltanto il valore ascii del char.

    EDIT: Ha ragione $$$, ho letto ora.
    ChReAn
    -------------------

    Slackware 9.1 powered

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    4
    Originariamente inviato da alexmaz
    ah ok, allora hai ragione tu però non si chiama cast :tongue:
    in realta' poteva anche ficcare quel carattere
    in una stringa e poi passare sta stringa nelle
    funzioni ascii-to-binary standard del c

  9. #9
    Originariamente inviato da ChReAn
    La funzione fgets restituisce un char*, non un char.
    La funzione fgetc restituisce un char.
    allora basta modificare cosi':

    codice:
      s=fgets(fp);
      i=(int)(*s-'0');
    
    oppure
      i=(int)(s[0]-'0');
    ciao ciao !!
    _______________
    home : cristianolongo.altervista.org
    e-mail : cristiano_longo@yahoo.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.