Linux 下,系统时间毫秒级命名文件

第一次使用系统时间命名文件输出,代码很丑,请大家见谅。

#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/time.h>
#include <time.h>
int main(){
    FILE *fp;
    struct tm *tt;
    char name[80] ={0};
    char file_name[50]={0};
    char *fname = "rdata";
    struct timeval tv;
    gettimeofday(&tv,NULL);
    tt = localtime(&(tv.tv_sec));                             //本地化时间,输入秒,1970之后
    strftime(file_name,50,"_%Y%m%d_%H%M%S_",tt);              //格式化时间 "_20180417_204515_"
    strcat(strcpy(name,fname),file_name);
    sprintf(file_name,"%ld",tv.tv_usec/1000);                 //毫秒提取
    strcat(name,file_name);
    strcat(name,".m");
    printf("File_name = %s\n",name);
    fp = fopen(name,"w+");
    return 0;
}

阅读更多

没有更多推荐了,返回首页