C语言中如何把时间变量赋值到一个专门存放时间的数组里面

为什么无法将时间赋值到数组里啊?我是个菜鸟,望大神帮帮忙啊!很急!

C语言中有专门储存时间的变量结构体 struct tm,在time.h头文件中。如果要把时间转换成字符数组,使用asctime函数即可。

1、asctime函数:
原型:char* asctime (const struct tm * timeptr);
功能:把timeptr指向的tm结构体中储存的时间转换为字符串
头文件:time.h;
返回值:一个固定格式的字符串。字符串格式为:Www Mmm dd hh:mm:ss yyyy。其中Www为星期,Mmm为月份,dd为日,hh为时,mm为分,ss为秒,yyyy为年份。
2、例程:

#include<time.h>
#include<stdio.h>
int main(){
    time_t rawtime;
    struct tm * timeinfo;
    time(&rawtime);
    timeinfo = localtime(&rawtime);//使用localtime函数把秒数时间rawtime转换为本地时间以tm结构体保存,并把tm结构体地址储存到timeinfo当中
    printf("当前日期为: %s",asctime(timeinfo));//使用asctime函数把tm结构体中储存的时间转换为字符串,并输出
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-30
time_t timep;
time(&timep);
strcpy(time_boxes[i],ctime(&timep)) //这个还要加 #include <string.h>追问

已经包含头文件了,怎么还是报错

追答

#include <string.h>

#include <stdio.h>

#include <time.h>

int main(){

time_t timep;

char time_boxes[50][30];

int i;

for(i=0;i<10;i++){

time(&timep);

strcpy(time_boxes[i],ctime(&timep));

}

for(i=0;i<10;i++)

printf("%s",time_boxes[i]);

}


我的代码和得到结果,参照一下

本回答被提问者采纳
相似回答