资讯详情

IO进程线程学习day1

测试结果

ymp@ubuntu:~/px/IO/fp$ ./a.out 2.txt     input line>>> 3 qwr asf zxc 1.txt size:12,line:3 1.txt size:12,line:3 ymp@ubuntu:~/px/IO/fp$ cat 1.txt qwr asf zxc ymp@ubuntu:~/px/IO/fp$ cat 2.txt qwr asf zxc ///自己输入1.txt复制到2.txt中,利用两种函数求文件的大小和行数

.c文件

include<stdio.h> #include<string.h> #include<errno.h> #include"a.h"  void copy(FILE *fp,FILE *fq)                //文件复制函数 {         char str[2];         rewind(fp);         while(fgets(str,sizeof(str),fp) != NULL)         {                 fputs(str,fq);         } }  int size_fgets(FILE *fp)                    //利用fgets求文件大小 {         int sum=0;         char str[20];         rewind(fp);         while(fgets(str,sizeof(str),fp)!=NULL)         {                 sum =strlen(str);         }         return sum; } int line_fgets(FILE *fp)                    //利用fgets求文件行数 {         int line=0;         char str[20];         rewind(fp);         while(fgets(str,sizeof(str),fp)!=NULL)         {                 int i;                 for(i=0;i<sizeof(str);i  )                 {                         if(str[i] == '\n')                         {                                 line  ;                         }                 }         }         return line; } int size_fgetc(FILE *fp)                    //利用fgetc求文件大小 {         int sum=0;         char c=0;         rewind(fp);         while(1)         {                 c=fgetc(fp);                 if(c==-1)                 {                         break;                 }                 sum  ;         }         return sum; } int line_fgetc(FILE *fp)                    //利用fgetc求文件行数 {         int line=0;         char c=0;         rewind(fp);         while(c!=-1)         {                 c=fgetc(fp);                 if(c==10)                 {                         line  ;                 }         }         return line; }  

main.c函数

#include<stdio.h> #include<errno.h> #include"a.h"   int main(int argc,const char *argv[]) {         FILE *fp=fopen("./1.txt","w ");         if(NULL==fp)         {                 printf("errno=%d\n",errno);                 perror("fopen");                 return -1;         }         int i=0;         int line;         printf("input line>>> ");         scanf("%d",&line);         char str[20];         while(i<line)         {                 scanf(" %s",str);                 fputs(str,fp);                 fputs("\n",fp);                 i  ;         }         printf("1.txt size:%d,line:%d\n",size_fgetc(fp),line_fgetc(fp));         printf("1.txt size:%d,line:%d\n",size_fgets(fp),line_fgets(fp));         FILE *fq=fopen(argv[1],"w ");         copy(fp,fq);         fclose(fp); } 

.h文件

#ifndef __fp__ #define __fp__  void copy(FILE *fp,FILE *fq);  int size_fgetc(FILE *fp);  int line_fgetc(FILE *fp);  int size_fgets(FILE *fp);  int line_fgets(FILE *fp);  #endif ~                                                                                                        ~            

标签: ymp4系列圆形电连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台