[c++] Come convertire un singolo carattere in un int



Answers

#define toDigit(c) (c-'0')
Question

Ho una stringa di cifre, ad esempio "123456789", e ho bisogno di estrarne ognuna per usarle in un calcolo. Naturalmente posso accedere a ciascun carattere per indice, ma come posso convertirlo in un int?

Ho esaminato atoi (), ma prende una stringa come argomento. Quindi devo convertire ogni char in una stringa e quindi chiamare atoi su di esso. C'è un modo migliore?




Puoi usare la funzione atoi ()

#include <stdlib.h>
#include <stdio.h>
int main(int argc, char* argv[]){
    int num ;
    num = atoi(argv[1]);
    printf("\n%d", num);
}



#include<iostream>
#include<stdlib>
using namespace std;

void main()
{
     char ch;
     int x;
     cin >> ch;
     x = char (ar[1]);
     cout << x;
}



Qualche problema con il seguente modo di farlo?

int CharToInt(const char c)
{
    switch (c)
    {
    case '0':
        return 0;
    case '1':
        return 1;
    case '2':
        return 2;
    case '3':
        return 3;
    case '4':
        return 4;
    case '5':
        return 5;
    case '6':
        return 6;
    case '7':
        return 7;
    case '8':
        return 8;
    case '9':
        return 9;
    default:
        return 0;
    }
}



Links



Tags

c++ c++   char