|
void setTime(char* recvTime)//시간을 문자열로 가져옴 ex 12345678
{
struct time time1;
gettime(&time1);
Form2->Memo1->Lines->Add("셋업타임의 값:");
Form2->Memo1->Lines->Add(recvTime);
char hour[2] = {recvTime[0],recvTime[1]};//시간을 추출
char min[2] = {recvTime[2],recvTime[3]};
char sec[2] = {recvTime[4],recvTime[5]};
char hund[2] = {recvTime[6],recvTime[7]};// 1/100초를 추출
int hour1 = atoi(hour);//문자열을 정수형으로 바꿈
int min1 = atoi(min);
int sec1 = atoi(sec);
int hund1 = atoi(hund);
time1.ti_hour = (unsigned char)++hour1; //값을 대입
time1.ti_min = min1;
time1.ti_sec = sec1;
time1.ti_hund = hund1;
settime(&time1);
}
이렇게 작성을 하였는데 시간이 안바뀌네요 왜 그런지 설명 부탁드립니다.
컴파일러는 빌더2010이고, 운영체제는 윈도우비스타입니다.
time1.ti_hour = 11; //값을 대입
time1.ti_min = 11;
time1.ti_sec = 11;
time1.ti_hund = 11;
이런식으로 직접 숫자를 넣으면 시간이 바뀝니다. 시간이 바뀐다는 것은 os 아래 시계의 값이 정해준 값으로 바뀐다는것을 말합니다.
|