网站建设论文摘要,湖北正规网站建设质量保障,邢台本地网站,网站建设专家哪家强题目一#xff1a; 1、使用fread和fwrite完成两个文件的拷贝#xff0c;要求源文件和目标文件由外界输入 实现代码#xff1a;
#define LEN_BUF 256int main(int argc, const char *argv[])
{if(argc ! 3){fprintf(stderr,程序入参输入有误\n);return -1;}FILE…题目一 1、使用fread和fwrite完成两个文件的拷贝要求源文件和目标文件由外界输入 实现代码
#define LEN_BUF 256int main(int argc, const char *argv[])
{if(argc ! 3){fprintf(stderr,程序入参输入有误\n);return -1;}FILE *srcfopen(argv[1],r);FILE *destfopen(argv[2],w);if(srcNULL||destNULL){fprintf(stderr,文件打开失败\n);return -1;}char buffer[LEN_BUF];size_t num;while((numfread(buffer,sizeof(char),LEN_BUF,src))0){//size_t numfread(buffer,sizeof(char),LEN_BUF,src);fwrite(buffer,sizeof(char),num,dest);}fclose(src);fclose(dest);printf(文件拷贝完成\n);return 0;
}
运行效果:
ubuntuubuntu:~/99-Prac/1015$ ./a.out /etc/passwd passwd
文件拷贝完成
ubuntuubuntu:~/99-Prac/1015$ diff /etc/passwd passwd
ubuntuubuntu:~/99-Prac/1015$ cat /etc/passwd | wc -l
50
ubuntuubuntu:~/99-Prac/1015$ cat passwd | wc -l
50 题目二 2、使用fgets获取当前文件的总行数 实现代码
int main(int argc, const char *argv[])
{if(argc ! 2){fprintf(stdout, 输入参数有误\n);return -1;}FILE *fpfopen(argv[1],r);if(fp NULL){fprintf(stdout, 文件[%s]打开失败\n, argv[1]);return -1;}//使用fgets统计行数int cnt0;char buffer[1024];while((fgets(buffer, sizeof(buffer), fp))!NULL){int lenstrlen(buffer);if(buffer[len-1] \n)cnt;}fclose(fp);printf(文件[%s]一共有[%d]行\n, argv[1], cnt);return 0;
}运行效果
ubuntuubuntu:~/99-Prac/1015$ ./a.out passwd
文件[passwd]一共有[50]行
ubuntuubuntu:~/99-Prac/1015$ cat passwd | wc -l
50题目三 3、向文件中每一秒打印当前系统时间 实现代码
#include stdio.h
#include string.h
#include stdlib.h
#include time.hint main(int argc, const char *argv[])
{FILE *fpfopen(time.log,w);if(fp NULL){fprintf(stderr,文件打开失败\n);return -1;}//每一秒中在终端打印下系统时间time_t curTime;time_t preTime0;//记录上一次打印的时间int cnt0;while(1){curTimetime(NULL);if((curTime-preTime)1){//仍然在1秒以内continue;} preTimecurTime;//打印struct tm* tlocaltime(curTime); fprintf(fp,行号[%03d] %4d-%02d-%02d %02d:%02d:%02d\n, cnt,t-tm_year1900,t-tm_mon1,t-tm_mday,t-tm_hour,t-tm_min,t-tm_sec);fflush(fp);}fclose(fp);//虽然永远执行不到return 0;
}运行效果
ubuntuubuntu:~/99-Prac/1015$ tail -f time.log
行号[001] 2024-10-15 18:57:27
行号[002] 2024-10-15 18:57:28
行号[003] 2024-10-15 18:57:29
行号[004] 2024-10-15 18:57:30
行号[005] 2024-10-15 18:57:31
行号[006] 2024-10-15 18:57:32
行号[007] 2024-10-15 18:57:33
行号[008] 2024-10-15 18:57:34
行号[009] 2024-10-15 18:57:35
行号[010] 2024-10-15 18:57:36
行号[011] 2024-10-15 18:57:37
行号[012] 2024-10-15 18:57:38
行号[013] 2024-10-15 18:57:39
行号[014] 2024-10-15 18:57:40
行号[015] 2024-10-15 18:57:41
行号[016] 2024-10-15 18:57:42