Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [c] leggere serie di numeri cifra cifra

    Salve!!!
    ho un file e dovrei leggere tutti gli elementi numeri e stringhe carattere carattere.
    è possibile salvare le cifre in una variabile char* e poi far diventare le cifre-carattere un numero con un cast?
    Grazie!!!

  2. #2
    Se hai una cifra-carattere in un char la puoi trasformare in un numero con una sottrazione più un cast. Un char di fatto è un tipo numerico, e i caratteri delle cifre sono sequenziali (fatto garantito dallo standard); puoi quindi fare:
    codice:
    char unCarattere;
    /* ... */
    int cifra = (int) unCarattere-'0';
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    grazie per questa conferma!!

  4. #4
    ho fatto questo codice, ma mi va in crash:
    le variabili char dovrebbero contenere le cifre prese dal file;
    codice:
    int main(void) { 
    char* stringa = NULL; 
    char uno = '9'; 
    char due = '5'; 
    char tre = '4'; 
    *stringa = uno + due + tre + '\0'; 
    printf("%s", stringa); 
    system("PAUSE"); r
    eturn EXIT_SUCCESS; 
    }

  5. #5
    Che senso dovrebbe avere questa riga?
    codice:
    *stringa = uno + due + tre + '\0';
    1. Non hai allocato spazio per la stringa, stringa è un puntatore non valido.
    2. La somma di dei char non risulta in una qualche genere di concatenazione, ma nella somma dei loro valori numerici.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.