strptime的c语言用法
时间: 2023-07-19 08:31:20 浏览: 103
strptime是C语言的一个函数,用于将字符串转换为时间格式,函数的声明如下:
```c
#include <time.h>
char *strptime(const char *s, const char *format, struct tm *tm);
```
其中,参数s表示待转换的字符串,参数format是字符串的时间格式,参数tm是一个指向struct tm结构体的指针,用于存储转换后的时间。
例如,下面的代码将字符串"2022-03-14 10:30:00"转换为时间格式:
```c
#include <stdio.h>
#include <time.h>
int main()
{
const char *s = "2022-03-14 10:30:00";
const char *format = "%Y-%m-%d %H:%M:%S";
struct tm tm;
memset(&tm, 0, sizeof(struct tm));
char *ret = strptime(s, format, &tm);
if (ret == NULL) {
printf("strptime error\n");
return -1;
}
printf("%d-%d-%d %d:%d:%d\n", tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday,
tm.tm_hour, tm.tm_min, tm.tm_sec);
return 0;
}
```
输出结果为:
```
2022-3-14 10:30:0
```
注意,在使用strptime函数时,要确保format参数的格式和s参数的格式相匹配,否则会出现错误。另外,需要在使用strptime函数之前对struct tm结构体进行初始化,可以使用memset函数清零。
阅读全文