地球时间)以第3章微实践-地球时间的代码为基础,实现下述getTime()函数,将当前小时、分钟和秒数写入参数h、m和s所引用的整数对象,要求使用C++函数接口定义void getTime(int& h, int& m, int& s);
时间: 2024-05-13 09:20:48 浏览: 104
* h, int* m, int* s)。
代码如下:
```c
#include <stdio.h>
#include <time.h>
void getTime(int* h, int* m, int* s) {
time_t t = time(NULL);
struct tm* timeinfo = localtime(&t);
*h = timeinfo->tm_hour;
*m = timeinfo->tm_min;
*s = timeinfo->tm_sec;
}
int main() {
int h, m, s;
getTime(&h, &m, &s);
printf("The current time is %02d:%02d:%02d.\n", h, m, s);
return 0;
}
```
在该程序中,我们定义了一个名为`getTime()`的函数,它使用C函数接口将当前小时、分钟和秒数写入参数`h`、`m`和`s`所引用的整数对象中。该函数中使用了`time()`函数获取当前时间的秒数,并使用`localtime()`函数将其转换为本地时间。然后,我们从`struct tm`结构体中获取小时、分钟和秒数,并将其分别写入`h`、`m`和`s`所引用的整数对象中。
在`main()`函数中,我们调用`getTime()`函数获取当前时间,并使用`printf()`函数将其打印出来。注意在打印时间时,我们使用了`%02d`格式化字符串,以确保小时、分钟和秒数都用两位数字表示,并在需要时在前面加上0。这使得输出的时间更加美观和易读。
阅读全文