分享一下!!!

#include<stdio.h>
#include<windows.h>
#define N 70000 //定义行数!!用空间换取时间
struct student
{
char name[];
int num;
}a[N];
int main()
{
void GetOpenFileLine(char *szFile);
void otherFile(char *buffer);
char buffer[];
ZeroMemory(buffer,sizeof(buffer)/sizeof(char));
printf("请输入需要读取文件的【绝对路径】\n"); fflush(stdin);
gets(buffer);//因为输入的文件中可能有空格等,所以用fgets
otherFile(buffer);
system("pause"); } void otherFile(char *buffer)
{
FILE *fp;
char ch='\\';
int i,j=; for(i=;buffer[i]!='\0';i++)
{
if(buffer[i]==ch)
{
buffer[j++]='\/';
}
else
{
buffer[j++]=buffer[i];
} }
buffer[j]='\0';
fp=fopen(buffer,"r");
if(NULL==fp)
{
system("cls");
printf("can not open the file");
Sleep();
return;
} else
{
GetOpenFileLine(buffer);
} } void GetOpenFileLine(char *szFile)
{
int iCounter=;
int i=;
float persent=;
char buffer[];
FILE *fp=fopen(szFile,"r");
while(!feof(fp))
{
fgets(buffer,,fp);
iCounter++;
}
printf("文件一共有%d行\n",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("\r");
printf("正在读取第%d行!\t已完成%0.2f%%",i,persent*);
Sleep(); } }

最新文章

  1. 认识WCF
  2. js 下载图片与下载文件的方式一样;保存至本地 ASP.NET 方式
  3. Junit测试中的setup和teardown 和 @before 和 @After 方法
  4. js控制控件不可编辑
  5. EnumHelper枚举常用操作类
  6. centos配置中文显示和中文输入
  7. C++ 友元函数的函数指针
  8. 【转】【JAVA应用】多线程断点下载
  9. mysql插入数据后返回自增ID的方法,last_insert_id(),selectkey
  10. API函数详解:API大全总目录(按字母排列)
  11. 100个iOS开发面试题汇总
  12. 【转】Android中保持Service的存活
  13. 【值得收藏】一份非常完整的Mysql规范
  14. Cocos Creator 安装和启动,Dashboard 的介绍
  15. Python3学习之路~6.8 多态
  16. Node.js初探
  17. CreateDialog 注意事项
  18. html自适应布局,@media screen,媒体查询
  19. 人生第一个快速幂的题(HDU - 1097--A hard puzzle )
  20. Qt模态与非模态

热门文章

  1. leetCode130. Surrounded Regions--广度优先遍历算法
  2. LeetCode第136题:只出现一次的数字
  3. 国内物联网平台(1):百度物接入IoT Hub
  4. 在GridView控件FooterTemplate内添加记录 Ver3
  5. Binder学习笔记(二)——defaultServiceManager()返回了什么?
  6. PL/0语言词法分析器
  7. (原创)Problem F: WPF的三位数
  8. python解决最小二乘法的相关问题笔记。
  9. js数据类型基础
  10. Golang 连接 MongoDB使用连接池