本文主要是介绍C文件操作;数据文件读取,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
思路:打开文件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;
}
这篇关于C文件操作;数据文件读取的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!