나중에 결과를 출력 할 수 있도록 "HH : MM : SS"형식으로 문자 배열 (문자열)에 현재 시간을 가져와야합니다. 단순히 printf("%s", timeString);
HH : MM : SS 형식의 문자열 입력 시간 (C 프로그래밍)
와 내가 BTW timeval
및 time_t
유형에 꽤 혼란, 그래서 어떤 설명이 좋지 않을까 :)
편집 : 그래서 나는의 strftime 등으로 시도하고 좀했다. 여기 내 코드는 다음과 같습니다.
time_t current_time;
struct tm * time_info;
char timeString[8];
time(¤t_time);
time_info = localtime(¤t_time);
strftime(timeString, 8, "%H:%M:%S", time_info);
puts(timeString);
출력은 "13 : 49 : 53a ?? J`s?"입니다.
끝에 "?? J`sS?"이 어떻게 될까요?
아 물론. 고마워 친구! – o01
나는 보통 비관적 인 접근법을 취하고 버퍼 크기를 지나치게 할당한다. 예를 들어'timeString []'을 20 자 정도의 char로 선언 할 수 있습니다. 메모리는 저렴하며 여기서는 몇 가지 추가 바이트에 대해서만 이야기합니다. 나중에 포맷 문자열을 변경하기로 결정했지만 버퍼 길이를 업데이트하는 것을 잊어 버리면 저장됩니다. –
컴파일러가 배열의 크기를 넘기 위해서'sizeof()'를 사용하기 위해 +1. –