代码如下

#include

#include

#include

#include

#include

#include

#define FILEBUFFER_LENGTH 5000

#define EMPTY_STR "

//打开fileName指定的文件,从中读取第lineNumber行

//返回值:成功返回1,失败返回0

int get_file_line(char *result,char *fileName,int lineNumber)

{

FILE *filePointer;

int i=0;

char buffer[FILEBUFFER_LENGTH];

char *temp;

memset(buffer,‘\0‘,FILEBUFFER_LENGTH*sizeof(char));

strcpy(buffer,EMPTY_STR);

if((fileName==NULL)||(result==NULL))

{

return 0;

}

if(!(filePointer=fopen(fileName,"rb")))

{return 0;}

while((!feof(filePointer))&&(i

{

if(!fgets(buffer,FILEBUFFER_LENGTH,filePointer))

{

return 0;

}

i++;//差点又忘记加这一句了

}

/* printf("\n%d\n",sizeof(*result));

if(strlen(buffer)>sizeof(*result))//不能够这么写,虽然fgets读取一行后会在末尾加上‘\0‘,但是sizeof(result)得到的结果却是result本身类型的大小,所以不能够这么算。当静态数组传入函数时,在函数内部只能知道它是一个指针

{

return 0;

}*/

if(0!=fclose(filePointer))

{

return 0;

}

if(0!=strcmp(buffer,EMPTY_STR))

{

while(NULL!=(temp=strstr(buffer,"\n")))

{

*temp=‘\0‘;

}

while(NULL!=(temp=strstr(buffer,"\r")))

{

*temp=‘\0‘;

}

strcpy(result,buffer);

}else

{

strcpy(result,EMPTY_STR);

return 0;

}

return 1;

}

原文:http://www.cnblogs.com/thegodofthunder/p/7215852.html

linux c读文件读一行,Linux c 从文件当中读取任意一行的数据相关推荐

  1. c++读取txt文件中的数字_在Python中读取包中的数据文件的三种方式

    我们知道,写Python代码的时候,如果一个包(package)里面的一个模块要导入另一个模块,那么我们可以使用相对导入: 假设当前代码结构如下图所示: 其中test_1是一个包,在util.py里面 ...

  2. linux 进程调度 运行队列 自旋锁,linux内核进程调度(自旋锁)

    2.1首先让我们了解,操作系统分为两类:一类是实时操作系统,一类是分时操作系统.它们的共同特点是都是多任务的 .多任务操作系统分为两类:非抢占式多任务和抢占式多任务. 非抢占式多任务,就是指进程不断的 ...

  3. 「实战教程」如何使用POI读取模板PPT填充数据并拼接至目标文件

    文章目录 一.PPT文件格式介绍 1.PPT文件格式的概述 2.HSLF和XSLF的区别 3.如何选择合适的POI类库 二.SlideShow 三.读取PPT文件 1. 加载PPT文件 2. 获取PP ...

  4. linux 读取命令行输入参数,shell脚本读取文件+读取命令行参数+读取标准输入+变量赋值+输出到文件...

    读取url_list文件批量下载网页 url_list http://www.tianyancha.com/company/2412078287 http://www.4399.com/special ...

  5. mac 读linux格式文件内容,linux和mac osx 下查找替换并保存文件的方法

    1. 查找deskop.xml 并修改文件 find . -name desktop.xml|xargs sed -i '.bak' 's/$/ /g' 注: -i 参数在  mac 下一定要指定备份 ...

  6. linux怎么让某一个组对一文件可读可写,设置linux文件权限,使得同一用户组的可以对一个文件自由修改...

    新添用户,设置权限 新增用户的时候设置用户所属组,将想要一起的用户设置到一个组内 usermod -g 用户组 用户名 #这里将用户的主组设置为这个总组,这里为了再之后创建文件的时候文件所属组为这个组 ...

  7. linux下使用fread读socket套接字的注意点

    linux下使用fread读socket套接字的注意点 linux总所周知,一切皆文件.因此我们在读写文件时觉得fread,recv这些可以随便用.下面看看有哪些注意事项呢. 因为C库的文件处理函数较 ...

  8. php socket fread,linux下使用fread读socket套接字的注意点

    linux总所周知,一切皆文件.因此我们在读写文件时觉得fread,recv这些可以随便用.下面看看有哪些注意事项呢. 因为C库的文件处理函数较多,处理起来很灵活.所以在处理套接字时可以用fdopen ...

  9. linux利用内存加快读盘速度,Linux性能优化从入门到实战:10 内存篇:如何利用Buffer和Cache优化程序的运行效率?...

    缓存命中率 缓存命中率,是指直接通过缓存获取数据的请求次数,占所有数据请求次数的百分比,可以衡量缓存使用的好坏.命中率越高,表示使用缓存带来的收益越高,应用程序的性能也就越好. 实际上,缓存是现在所有 ...

最新文章

  1. 文件上怎么盖章_投标文件该怎么盖章呢?投标人必看!
  2. python创建和删除文件
  3. android图片垂直居中,img图片在div里垂直居中的最佳解决方案
  4. leetcode题库1370-- 上升下降字符串
  5. 【老生谈算法】matlab实现拉普拉斯变换及其逆变换算法源码——拉普拉斯变换
  6. JavaWeb项目为什么我们要放弃jsp?为什么要前后端解耦?为什么要前后端分离?2.0版,为分布式架构打基础。
  7. python+selenium+autoit实现自动百度识图
  8. 批量修改文件夹内文件格式
  9. 将已购买的知乎Live课堂图片下载并导出的教程
  10. REDHAT版本与支持的intel CPU型号
  11. 2021-01-09
  12. Python手写强化学习Q-learning算法玩井字棋
  13. 十款开发者常用的Chrome插件,让chrome成为开发利器!
  14. MySQL 连接挂死了!该如何排查?
  15. linux c控制进程并发量,浅谈Linux环境下并发编程中C语言fork()函数的使用
  16. 入门编程指南:如何从零开始学习编程?
  17. android调用最新的谷歌地图方法
  18. 怎么把PDF转换成CAD文件呢?分享两种转换小技巧
  19. Additive equations
  20. Anaconda和pip换源

热门文章

  1. c++数独小游戏3.3
  2. MSL、TTL、RTT的区别
  3. windows虚拟机安装Mac OS系统(操作图解)
  4. SQLAlchemy 增删改查和基础操作
  5. python压缩文件操作_Python tar、zip压缩文件操作方法
  6. 基于NIO的Client/Server程序实践
  7. 高防CDN好在哪里?哪些行业可以选择高防CDN?
  8. 三菱qd77ms16程序
  9. 通信原理 单、双极性码的归零和非归零01等概下的波形和功率谱密度的matlab实现
  10. 【开源】司马编译器结构