Пятница, Сентябрь 18, 2020

Пример 5.7 PIC18 Си стр162

//Программа извлекает число 22 после его нахождения в строке и сохраняет его в ячейке памяти hour.
#include<p18cxxx.h>
#include<stdlib.h>
#include<string.h>
#pragma config OSC=HS
#pragma config WDT=OFF
#pragma config LVP=OFF
char buffer[]="The time is 22 hours.";       //массив символов,первый сивол по адресу buffer
char hour;                                   //байт в памяти
int a;                                       //счетчик,два байта в памяти
void main(void){
    for(a=0;a<strlen(buffer);a++){           //strlen возвращает количество байтов в buffer
        if(buffer[a]>='0'&&buffer[a]<='9'){  //если следуюший символ больше или равен 0х30 и
            break;                           //меньше или равен 0х39 выход из цикла
        }
    }
    hour=atob(buffer+a);                     //в а номер числа прибавляем к адресу начала массива
                                             //и передаем в atob символ находящийся по этому адресу
                                             //atob возвращает шестнадцатитеричное значение 22=0х16                      
}



НАЗАД                                                                                                                                         ДАЛЕЕ


Back to Top