C文件操作;数据文件读取

来源:互联网 发布:f22和歼20数据对比 编辑:程序博客网 时间:2024/05/21 19:28
思路:打开文件fopen -> 读取数据fgets(比gets安全) -> 数据处理(如strtok分割string-strtok的用法和机制比较特别,再通过atoi、atof等数据转换函数处理得到不同类型数据)-> 保存数据,关闭文件

附读取代码:

读取每一行文本 

#include  
 
 int main() 
 
     charfilename[] = "D:\\阶段性学习\\大三上\\1.课程学习\\编译原理\\0903\\实验二\\test.c";//文件名
     FILE*fp; 
     charStrLine[1024];           //每行最大读取的字符数
     if((fp= fopen(filename,"r")) == NULL) //判断文件是否存在及可读
    
       printf("error!"); 
        return-1; 
    
 
     while(!feof(fp)) 
    
        fgets(StrLine,1024,fp); //读取一行
        printf("%s\n", StrLine);//输出
    
    fclose(fp);                  //关闭文件
     return0; 
 }
 
 
读取指定行文本

#include  

char * ReadSpeacialLine(int i) 
    char filename[] ="D:\\阶段性学习\\大三上\\1.课程学习\\编译原理\\0903\\实验二\\test.c"; //文件名
    FILE*fp; 
    int WhichLine=i;          //指定要读取哪一行
    int CurrentIndex=0;          //当前读取的行
    char StrLine[1024];          //每行最大读取的字符数,可根据实际情况扩大
    if((fp =fopen(filename,"r")) == NULL) //判断文件是否存在及可读
   
       printf("error!"); 
       return NULL; 
   

    while(!feof(fp)) 
   
    
       if (CurrentIndex==WhichLine)
       {
          fgets(StrLine,1024,fp);  //读取一行
          printf("%s", StrLine); //输出
           returnStrLine;
       }
       fgets(StrLine,1024,fp); //读取一行,并定位到下一行
       CurrentIndex++;

       //printf("%s", StrLine); //输出
   
    fclose(fp);                 //关闭文件
    returnNULL; 
}
0 0
原创粉丝点击