作业1 打印行号+时间
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
int main(int argc, const char *argv[])
{
time_t sys_time,old_time;
struct tm* tp;
FILE* fp=NULL;
if((fp=fopen("./time.txt","a+"))==NULL)
{
perror("fopen");
return -1;
}
char str[128]="";
int count=0;
char buf;
while(1)
{
sys_time=time(NULL);
if(sys_time!=old_time)
{
count = 0;
fseek(fp,0,SEEK_SET);
while(1)
{
buf = fgetc(fp);
if(buf=='\n')
{
count++;
}
if(buf==EOF)
break;
}
count++;
old_time = sys_time;
tp = localtime(&sys_time);
sprintf(str,"%d %4d-%02d-%02d %02d:%02d:%02d\n",\
count,tp->tm_year+1900, tp->tm_mon+1, tp->tm_mday,\
tp->tm_hour, tp->tm_min, tp->tm_sec);
fputs(str,fp);
//fwrite(str,strlen(str),1,fp);
printf("%s",str);
fflush(fp);
}
}
fclose(fp);
return 0;
}
作业2 拷贝复制文件
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char *argv[])
{
FILE* rp=NULL;
if((rp=fopen("./05_homework1.c","r"))==NULL)
{
perror("fopen_read");
return -1;
}
FILE* wp=NULL;
if((wp=fopen("./text.txt","w"))==NULL)
{
perror("fopen_write");
return -1;
}
char str[128]="";
while(1)
{
int res=fread(str,1,sizeof(str),rp);
if(res==0)
{
break;
}
fwrite(str,1, res, wp);
}
printf("拷贝完成\n");
fclose(rp);
fclose(wp);
return 0;
}