#include <myhead.h>
int getTime(FILE *fp)
{
char buf[10];
int line = 0;
while(fgets(buf, sizeof(buf),fp)!=NULL)
{
if(buf[strlen(buf)-1]=='\n')
{
line++;
}
}
return line;
}
int main(int argc, const char *argv[])
{
time_t nowTime, oldTime;
struct tm *sysTime;
FILE *fp;
char buf[100];
int line;
if((fp=fopen("./time.txt","a+"))==NULL)
{
perror("fopen error");
return -1;
}
//获取文件行号
line = getTime(fp);
while(1)
{
nowTime = time(NULL);
sysTime = localtime(&nowTime);
if(nowTime != oldTime)
{
oldTime = nowTime;
snprintf(buf, sizeof(buf),\
"%3d.%4d-%02d-%02d %02d:%02d:%02d\n",\
++line,
sysTime->tm_year+1900,\
sysTime->tm_mon+1,\
sysTime->tm_mday,\
sysTime->tm_hour,\
sysTime->tm_min,\
sysTime->tm_sec);
fputs(buf,fp);
fflush(fp);
}
}
fclose(fp);
return 0;
}
#include <myhead.h>
int main(int argc, const char *argv[])
{
if(argc !=3)
{
printf("input file error\n");
printf("usage:./a.out filename\n");
return -1;
}
//以只读的形式打开源文件
FILE *srcfp;
if((srcfp=fopen(argv[1], "r"))==NULL)
{
perror("srcfile open error");
return -1;
}
//以只写的形式打开目标文件
FILE *dstfp;
if((dstfp=fopen(argv[2], "w"))==NULL)
{
perror("dstfile open error");
return -1;
}
//定义搬运工
char buf[50];
while(1)
{
memset(buf,0,sizeof(buf)); //置空
fread(buf, sizeof(buf), 1, srcfp);
fwrite(buf, sizeof(buf), 1, dstfp); //将数据写入终端
if(feof(srcfp))
{
printf("读取到文件结尾\n");
break;
}
if(ferror(srcfp))
{
printf("读取失败\n");
break;
}
}
//关闭文件
fclose(srcfp);
fclose(dstfp);
printf("拷贝成功\n");
return 0;
}