51talk少儿英语怎么样:C语言用什么方法可以获取日期和时间.

来源:百度文库 编辑:中科新闻网 时间:2024/04/30 02:02:56
#include<???>
用什么函数最好举个例子.

这是一个获取日期的 时间的跟它一样
#include <sys/types.h>
#include <iostream>
#include <stdlib.h>
#include <sys/stat.h>
#include <dirent.h>
#include <stdio.h>
#include <string>
#include <unistd.h>

#define MAX_STR_LEN 100

char sFileFullName[MAX_STR_LEN] = {0};
char dFileFullName[MAX_STR_LEN] = {0};
using namespace std;

int SmartCopy(const char *Sdirname,const char *Ddirname);
int Find_entry(const char*, const char*);
int CopyFile();

int main(int argc, char* *argv)
{
if(argc != 3)
{
printf("\r\nInupt Error!");
return -1;
}
SmartCopy(argv[1],argv[2]);

return 0;
}

int SmartCopy(const char *Sdirname,const char *Ddirname)
{
struct dirent *d;
DIR *dp;
struct stat Sbuf,Dbuf;

if((dp = opendir(Sdirname)) == NULL)
{
printf("\r\nCant Open source dir");
return -1;
}
while(d = readdir(dp))
{
if( (strcmp(d->d_name,".")!=0) && (strcmp(d->d_name,"..")!=0))
{
/*获取文件全名*/
strcpy(sFileFullName,Sdirname);
strcat(sFileFullName,d->d_name);
if(Find_entry(Ddirname,d->d_name))
{
strcpy(dFileFullName,Ddirname);
strcat(dFileFullName,d->d_name);
/*stat 调用,就是这里老出错,两个文件都找到了*/
if((stat(sFileFullName,&Sbuf)== -1)
||(stat(dFileFullName,&Dbuf) == -1))
{
printf("\r\nGet File Date Error");
}
if(Sbuf.st_mtime < Dbuf.st_mtime)
{
printf("\r\nSource file is older than the copy");
}
}
else
{
printf("\r\nCopy not found ,make a copy");
}
}
}

closedir(dp);

return 0;
}

int Find_entry(const char *dirname, const char *filename)
{
static DIR *dp = NULL;
struct dirent *d;

if((dp = opendir(dirname)) == NULL)
{
printf("\r\nCant Open dest dir");
return -1;
}
while(d = readdir(dp))
{
if( (strcmp(d->d_name,".")==0) || (strcmp(d->d_name,"..")==0))
continue;
if( strcmp(d->d_name,filename) == 0)
return TRUE;
}
return FALSE;
}