• 【C】一个读取文件记录器


    分享一下!!!

       

    #include<stdio.h>
    #include<windows.h>
    #define N 70000  //定义行数!!用空间换取时间
    struct student
    {
    char name[20];
    int num;
    }a[N];
    int main()
    {
        void GetOpenFileLine(char *szFile);
        void otherFile(char *buffer);
        char buffer[256];
        ZeroMemory(buffer,sizeof(buffer)/sizeof(char));
        printf("请输入需要读取文件的【绝对路径】
    ");
    
        fflush(stdin);
        gets(buffer);//因为输入的文件中可能有空格等,所以用fgets
        otherFile(buffer);
        system("pause");
        
    }
    
    
    
    
    void otherFile(char *buffer)
    {
        FILE *fp;
        char ch='\';
        int i,j=0;
        
        
        for(i=0;buffer[i]!='';i++)
        {
            if(buffer[i]==ch)
            {
                buffer[j++]='/';
            }
            else
            {
                buffer[j++]=buffer[i];
            }
            
        }
        buffer[j]='';
        fp=fopen(buffer,"r");
        if(NULL==fp)
        {
            system("cls");
            printf("can not open the file");
            Sleep(3000);
            return;
        }
        
        else
        {
            GetOpenFileLine(buffer);
        }
        
        
    }
    
    void GetOpenFileLine(char *szFile)
    {
        int iCounter=0;
        int i=0;
        float persent=0;
        char buffer[256];
        FILE *fp=fopen(szFile,"r");
        while(!feof(fp))
        {
            fgets(buffer,256,fp);
            iCounter++;
        }
        printf("文件一共有%d行
    ",iCounter);
        fclose(fp);
         fp=fopen(szFile,"r");
        while (!feof(fp))
        {
            fscanf(fp,"%s %d ",a[i].name,&a[i].num);
            i++;
            persent=(float)i/iCounter;
            printf("
    ");
            printf("正在读取第%d行!	已完成%0.2f%%",i,persent*100);
            Sleep(10);
            
        }
        
    }
  • 相关阅读:
    第十一周课程总结
    第十周课程总结
    第九周课程总结&实验报告
    第八周课程总结&实验报告
    第七周课程总结&实验报告
    第六周课程总结&实验报告
    课程总结
    第十四周
    第十三周
    第十二周
  • 原文地址:https://www.cnblogs.com/liuweimingcprogram/p/3802287.html
Copyright © 2020-2023  润新知