Как проверить, состоит ли строка из цифры или алфавита в C
Мне нужна помощь в идентификации строки. У меня есть входящая строка вроде этой
*H1999999#она может варьироваться от
*H1000000#~*H1999999#иногда это так
*H1FINE# or *H1MED#или любой другой текст между ними.Теперь то, что я уже сделал, - это проанализировал числовую строку и скопировал целочисленное значение в буфер. Вот код для этого.
char H1subbuff[10]; char head1[4]; char Initial[2]; char *ptr; memcpy(Initial, &rec[0], 1 ); Initial[1] = '\0'; memcpy(head1, &rec[0], 3 ); head1[3] = '\0'; if ((strcmp(head1,"*H1") == 0) && (rec[9] == '#')) { memcpy(H1subbuff, &rec[3], 6 ); H1subbuff[6] = '\0'; H1Val = strtol(H1subbuff, &ptr, 10); //Display H1VAL }
Теперь мой вопрос заключается в том, как проверить, состоит ли строка из числа или алфавита.Все, что мне нужно, это проверить, является ли часть между *H1 и # числовой или алфавитной, если это число, которое я могу использовать
strtol()чтобы скопировать значение в буфер. Как я могу скопировать алфавит или текст в буфер?
Примечание: - вышеприведенные две строки не имеют одинаковой длины строки.
Что я уже пробовал:
Я попытался скопировать числовые значения в буфер.