convertit une chaîne de char c

Je suis en train de travailler sur un projet où je peux convertir une api chiffres à un char. J'ai utilisé un tableau de pointeurs de chaîne pour obtenir la conversion. Cependant, je veux retourner un seul ch, comme mon api que je suis à l'aide de n'accepter qu'un char. Donc ap_five sera de retour "5". Mais je tiens à cinq pour être un seul char '5'.

J'ai pensé que je pourrais peut-être lancer pour un char dans le retour. Cependant, je viens d'obtenir des ordures.

Je suis sûr qu'il ya d'autres façons de résoudre ce problème, comment je me demandais simplement comment puis-je résoudre mon programme actuel.

char *digits_conversion[][2]=
{
    {"ap_zero", "0"},
    {"ap_one", "1"},
    {"ap_two", "2"},
    {"ap_three", "3"},
    {"ap_four", "4"},
    {"ap_five", "5"},
    {"ap_six", "6"},
    {"ap_seven", "7"},
    {"ap_eight", "8"},
    {"ap_nine", "9"},
    {"ap_star", "*"},
    {"ap_hash", "#"},
    {NULL, NULL}
};

char convert_to_char(const char *digit)
{
    int i = 0;
    for(i = 0; *digits_conversion[i][1]; i++)
    {
        if(strcmp(digits_conversion[i][0], digit) == 0)
        {
            return (char) digits_conversion[i][1];
        }
    }

    return '
char *digits_conversion[][2]=
{
{"ap_zero", "0"},
{"ap_one", "1"},
{"ap_two", "2"},
{"ap_three", "3"},
{"ap_four", "4"},
{"ap_five", "5"},
{"ap_six", "6"},
{"ap_seven", "7"},
{"ap_eight", "8"},
{"ap_nine", "9"},
{"ap_star", "*"},
{"ap_hash", "#"},
{NULL, NULL}
};
char convert_to_char(const char *digit)
{
int i = 0;
for(i = 0; *digits_conversion[i][1]; i++)
{
if(strcmp(digits_conversion[i][0], digit) == 0)
{
return (char) digits_conversion[i][1];
}
}
return '\0';
}
int main(void)
{
char ch;
ch = convert_to_char("ap_five");
printf("Converted digit: %c\n", ch);
return 0;
}
'
; } int main(void) { char ch; ch = convert_to_char("ap_five"); printf("Converted digit: %c\n", ch); return 0; }
InformationsquelleAutor ant2009 | 2009-04-02