2013-02-26 7 views
1

(만약 그것은) 내가 100 % 정확한 시간을 필요로하지 않는 무언가가 내 자신의 이익을 위해 그것을 행하는 방법을 알고 싶다면. 는 전에추출물 부분 I은 <strong>간단한 INT</strong> (되지 어레이 또는 문자열)로서</strong> 또는 <strong>tm_min 만</strong> tm_sec 예 <strong>대에서 <strong>부품</strong>를 추출 할

time_t rawtime; 
struct tm * timeinfo; 
char buffer [80]; 

time (&rawtime); 
timeinfo = localtime (&rawtime); 
strftime (buffer,80,"Now it's %H:%M.",timeinfo); 
puts (buffer); 

그러나 경험 부족에서 저를 정지와 뭔가를 함께했는데, 지금은 이런 질문이 있다면 (프로그래밍 단지 초보자) 그리고 물론 미안해야 할 무슨 생각이 없다 그러나 나는 그것을 시도하지 않고 발견하지 못했다. 당신이 포인터가있는 경우, 즉

printf("The tm_seconds field is %d\n", timeinfo->tm_sec); 

:

*이 이것의 목적은 내가 원하는 부분 만 표시 할 수 있지만이

+0

을 그 해에 같이 코딩 잊지 마세요 '년 - 1900'(그래서 당신은에 있습니다 실제 달력 연도를 얻으려면 1900을 더하십시오.) 그리고 그 달은 1 월에 0으로 12 월에 11으로 인코딩됩니다 (그래서 보통 달 번호를 얻으려면 1을 더해야합니다). 그리고'mktime()'함수는 수정 된'struct tm'을 취해 그것을'time_t'로 다시 변환 할 수 있습니다. –

답변

3

단순히 구조체의 멤버에 액세스 편집 할 수 없습니다 유형이 struct tm 인 경우 화살표 연산자 (->)를 사용하여 모든 구성원에 액세스 할 수 있습니다. tm_sec 회원은 다른 모든 회원들과 마찬가지로 int 유형이 있습니다.

당신은 값을 복사 할 수

:

int my_seconds = timeinfo->tm_sec; 

을하고, 너무 사본을 인쇄 :

printf("my seconds are %d\n", my_seconds); 
+0

대단히 감사합니다. 담당자를 제공 할 수는 있지만 그렇게 할 능력이 없습니다. – undefined

+0

@undefined : 몇 분 후에 대답을 수락 할 수있게되며, 담당자에게 도움을 줄 수 있습니다. –

+0

이제 담당자에게 줄 수 있고 또한 완료로 표시해 주셔서 고맙습니다. 다시 열렬히 감사드립니다. – undefined