помогите разобраться с разбором строки.

sanekru
Offline
Зарегистрирован: 05.12.2017
char* s
char SMSunread(){
s = strstr(gprsBuffer, ":");
            if (s != NULL) {
            
                sim900_wait_for_resp("OK\r\n", CMD);
                return atoi(s + 1);}}

возвращаемое значение из ф-ции char, не пойму причём тут atoi(s+1)?

вроде strstr возвращает указатель на первое вхождение, тогда зачем преобразовывать адрес+1 в int, когда возвращаемое char?

b707
Offline
Зарегистрирован: 26.05.2017

sanekru пишет:

вроде strstr возвращает указатель на первое вхождение, тогда зачем преобразовывать адрес+1 в int, когда возвращаемое char?

видимо чтобы извлечь число, стоящее в строке на следующей позиции после ":"

тип char в Си - это не только символ, но и целое размером в байт

 

ЗЫ это все при условии. что автор кода не идиот. Потому что разбирать код идиота бессмысленно...

sanekru
Offline
Зарегистрирован: 05.12.2017

Ок спасибо большое!!!