Разбор строки в C - PullRequest
       1

Разбор строки в C

2 голосов
/ 16 сентября 2010

как бы вы проанализировали строку 1234567 на отдельные числа?

Ответы [ 3 ]

9 голосов
/ 16 сентября 2010
char mystring[] = "1234567";

Каждая цифра будет mystring[n] - '0'.

3 голосов
/ 16 сентября 2010

Что сказал Делан.Кроме того, вероятно, плохая практика для удобства использования - использование зависимого от ASCII обмана.Попробуйте использовать это из стандартной библиотеки:

int atoi ( const char * str );

РЕДАКТИРОВАТЬ: Гораздо лучшая идея (мне показалось выше, как медленный способ сделать это) Поместите такую ​​функцию в:1004 *

int ASCIIdigitToInt(char c){
    return (int) c - '0';
}

и повторяйте это по вашей строке.

2 голосов
/ 16 сентября 2010

Не забывайте, что строка в C на самом деле является массивом типа 'char'. Вы можете пройти по массиву и получить каждый отдельный символ по индексу массива и вычесть из значения ascii этого символа значение ascii '0' (которое может быть представлено '0').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...