linux c读文件读一行,Linux c 从文件当中读取任意一行的数据
代码如下
#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 从文件当中读取任意一行的数据相关推荐
- c++读取txt文件中的数字_在Python中读取包中的数据文件的三种方式
我们知道,写Python代码的时候,如果一个包(package)里面的一个模块要导入另一个模块,那么我们可以使用相对导入: 假设当前代码结构如下图所示: 其中test_1是一个包,在util.py里面 ...
- linux 进程调度 运行队列 自旋锁,linux内核进程调度(自旋锁)
2.1首先让我们了解,操作系统分为两类:一类是实时操作系统,一类是分时操作系统.它们的共同特点是都是多任务的 .多任务操作系统分为两类:非抢占式多任务和抢占式多任务. 非抢占式多任务,就是指进程不断的 ...
- 「实战教程」如何使用POI读取模板PPT填充数据并拼接至目标文件
文章目录 一.PPT文件格式介绍 1.PPT文件格式的概述 2.HSLF和XSLF的区别 3.如何选择合适的POI类库 二.SlideShow 三.读取PPT文件 1. 加载PPT文件 2. 获取PP ...
- linux 读取命令行输入参数,shell脚本读取文件+读取命令行参数+读取标准输入+变量赋值+输出到文件...
读取url_list文件批量下载网页 url_list http://www.tianyancha.com/company/2412078287 http://www.4399.com/special ...
- mac 读linux格式文件内容,linux和mac osx 下查找替换并保存文件的方法
1. 查找deskop.xml 并修改文件 find . -name desktop.xml|xargs sed -i '.bak' 's/$/ /g' 注: -i 参数在 mac 下一定要指定备份 ...
- linux怎么让某一个组对一文件可读可写,设置linux文件权限,使得同一用户组的可以对一个文件自由修改...
新添用户,设置权限 新增用户的时候设置用户所属组,将想要一起的用户设置到一个组内 usermod -g 用户组 用户名 #这里将用户的主组设置为这个总组,这里为了再之后创建文件的时候文件所属组为这个组 ...
- linux下使用fread读socket套接字的注意点
linux下使用fread读socket套接字的注意点 linux总所周知,一切皆文件.因此我们在读写文件时觉得fread,recv这些可以随便用.下面看看有哪些注意事项呢. 因为C库的文件处理函数较 ...
- php socket fread,linux下使用fread读socket套接字的注意点
linux总所周知,一切皆文件.因此我们在读写文件时觉得fread,recv这些可以随便用.下面看看有哪些注意事项呢. 因为C库的文件处理函数较多,处理起来很灵活.所以在处理套接字时可以用fdopen ...
- linux利用内存加快读盘速度,Linux性能优化从入门到实战:10 内存篇:如何利用Buffer和Cache优化程序的运行效率?...
缓存命中率 缓存命中率,是指直接通过缓存获取数据的请求次数,占所有数据请求次数的百分比,可以衡量缓存使用的好坏.命中率越高,表示使用缓存带来的收益越高,应用程序的性能也就越好. 实际上,缓存是现在所有 ...
最新文章
- 文件上怎么盖章_投标文件该怎么盖章呢?投标人必看!
- python创建和删除文件
- android图片垂直居中,img图片在div里垂直居中的最佳解决方案
- leetcode题库1370-- 上升下降字符串
- 【老生谈算法】matlab实现拉普拉斯变换及其逆变换算法源码——拉普拉斯变换
- JavaWeb项目为什么我们要放弃jsp?为什么要前后端解耦?为什么要前后端分离?2.0版,为分布式架构打基础。
- python+selenium+autoit实现自动百度识图
- 批量修改文件夹内文件格式
- 将已购买的知乎Live课堂图片下载并导出的教程
- REDHAT版本与支持的intel CPU型号
- 2021-01-09
- Python手写强化学习Q-learning算法玩井字棋
- 十款开发者常用的Chrome插件,让chrome成为开发利器!
- MySQL 连接挂死了!该如何排查?
- linux c控制进程并发量,浅谈Linux环境下并发编程中C语言fork()函数的使用
- 入门编程指南:如何从零开始学习编程?
- android调用最新的谷歌地图方法
- 怎么把PDF转换成CAD文件呢?分享两种转换小技巧
- Additive equations
- Anaconda和pip换源