将char date[6]转换为结构体数组,数组里year month day 各占两个字符,c语言怎么写
时间: 2024-03-26 09:38:31 浏览: 15
可以通过循环遍历字符串中的字符,并将其转换为相应的数字,然后赋值给结构体数组的成员变量。具体实现可以参考下面的代码:
```c
#include <stdio.h>
#include <string.h>
typedef struct {
int year;
int month;
int day;
} Date;
int main() {
char date[6] = "210731";
Date dates[1];
char yearStr[3] = {date[0], date[1], '\0'};
char monthStr[3] = {date[2], date[3], '\0'};
char dayStr[3] = {date[4], date[5], '\0'};
dates[0].year = atoi(yearStr);
dates[0].month = atoi(monthStr);
dates[0].day = atoi(dayStr);
printf("year: %d, month: %d, day: %d", dates[0].year, dates[0].month, dates[0].day);
return 0;
}
```
上面的代码首先定义了一个结构体 `Date`,其中包含了年、月、日三个成员变量。然后定义了一个字符串 `date`,表示日期。接着定义了一个结构体数组 `dates`,用来存储转换后的日期。
在主函数中,首先将 `date` 中的字符按照年、月、日的顺序拆分成三个字符串 `yearStr`、`monthStr`、`dayStr`。然后通过 `atoi()` 函数将字符串转换为相应的数字,并赋值给结构体数组的成员变量。最后输出结果,即可得到转换后的日期。