Linux

mktime에서 | value too large for defined data type | 에러 발생

DragonTory 2022. 5. 18. 21:22
반응형

mktime에서 | value too large for defined data type | 에러 발생

 

linux 64비트 시스템에서 예전에 32bit에서는 잘 사용 하던 프로그램이 

다음 에러를 출력 하는 문제가 발생 했다. 

증상:

mktime 함수 실행 후 에러 리턴

에러:

value too large for defined data type

 

원인:

 struct tm newtime;
  newtime.tm_year ~ newtime.tm_sec 에 값을 적용 한 후에 

다음의 tm_isdst의 값을 적용 안 했던 부분에서 에러가 발생 했다. 

newtime.tm_isdst = -1;    // 시스템 설정 따라 섬머타임 여부 설정

1: 섬머타임 적용

0: 섬머타임 적용 안 함. 

-1: 시스템 따라서

 

newtime.tm_isdst = -1;   

보통 추천 해서 이렇게 적용 하여 사용 하니 문제 없이 잘 작동 된다.

컴파일러 버전에 따라서 이 값이 초기화 안 되었던 것 같다.

반응형