Linux c 从文件当中读取任意一行的数据
代码如下
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <string.h>
#include <fcntl.h>
#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<lineNumber))
{
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;
}
Linux c 从文件当中读取任意一行的数据的更多相关文章
- 一个I/O线程可以并发处理N个客户端连接和读写操作 I/O复用模型 基于Buf操作NIO可以读取任意位置的数据 Channel中读取数据到Buffer中或将数据 Buffer 中写入到 Channel 事件驱动消息通知观察者模式
Tomcat那些事儿 https://mp.weixin.qq.com/s?__biz=MzI3MTEwODc5Ng==&mid=2650860016&idx=2&sn=549 ...
- Linux重装为Windows后读取原EXT类型数据盘
Linux重装为Windows后读取原EXT类型数据盘 1 2 3 4 分步阅读 Windows的文件系统通常使用NTFS或者FAT32格式,而Linux的文件系统格式通常是EXT系列.当操作系统从L ...
- 从文件中读取yuv和h264数据
1.从文件中读取h264数据 参考ffmpeg avc.c写的从文件中一帧帧读取h.264数据的demo #include <stdio.h> #include <stdlib.h& ...
- 可以在一个html的文件当中读取另一个html文件的内容
1.IFrame引入,看看下面的代码 <IFRAME NAME="content_frame" width=100% height=30 marginwidth=0 marg ...
- [Go] go等待读取最后一行的数据内容
这段代码是参照慕课网的视频教程,主要是f.Seek(0, os.SEEK_END)移动到末尾,但是里面有个小问题,当打开的文件被重新清空内容的清空下,就再也不能到读取数据了,比如在开启读取后 echo ...
- 用shell在一个文件后面的每一行追加数据
在shell分析log的时候,需要将数据过滤后转为csv的格式: 要在分析好的数据后面追加逗号: sed 's/$/&,/g' no2.log > ccc.log 结果保存在ccc.lo ...
- Python自动化测试框架——数据驱动(从文件中读取)
学过编程的伙伴们都知道,数据不仅可以从代码中读取,还可以从文件中读取. 今天小编就简要的介绍一下从文件中读取数据,并应用到自动化测试中方法. 先来展示下接下来将要用到的文件在项目中的结构 从txt文件 ...
- Python:文件的读取、创建、追加、删除、清空
一.用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行:#python>>>f=open('f.txt','w') # r只读,w可写,a追加>> ...
- 基于GDAL库,读取.nc文件(以海洋表温数据为例)C++版
对于做海洋数据处理的同学,会经常遇到nc格式的文件,nc文件的格式全称是NetCDF,具体的详细解释请查询官网[https://www.unidata.ucar.edu/software/netcdf ...
随机推荐
- OAuth2认证和授权:ResourceOwnerPassword认证
ResourceOwnerPassword在 ClientCredentials认证上新增了用户名和密码 但通过RequestPasswordTokenAsync获取不到refresh_token,不 ...
- safari无法调试iphone提示“无可检查的应用程序”的解决方法
iphone上打开safari,随便访问一个网站,mac上通过Safari的开发,我的iphone是可以看到的.如果打开APP,就提示“无可检查的应用程序”. 解决方法 使用XCode运行我们的App ...
- https://scrapingclub.com/exercise/detail_sign/
def parse(self, response): # pattern1 = re.compile('token=(.*?);') # token = pattern1.findall(respon ...
- Python取整及保留小数小结
1.int() 向下取整 内置函数 n = 3.75 print(int(n))>>> 3 n = 3.25 print(int(n))>>> 3 2.round ...
- Python+OpenCV图像处理(十四)—— 直线检测
简介: 1.霍夫变换(Hough Transform) 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法.主要用来从图像中分离出具有某种相同特征的几何形状(如,直线 ...
- codeforces #305 C Mike and Foam
首先我们注意到ai<=50w 因为2*3*5*7*11*13*17=510510 所以其最多含有6个质因子 我们将每个数的贡献分离, 添加就等于加上了跟这个数相关的互素对 删除就等于减去了跟这个 ...
- 0.2:Game and Art
文章著作权归作者所有.转载请联系作者,并在文中注明出处,给出原文链接. 本系列原更新于作者的github博客,这里给出链接. 通过上一节的学习,我们对游戏美术和游戏开发已经有了比较基本的了解.那么,该 ...
- bzoj3437 小P的牧场(斜率优化dp)
3437: 小P的牧场 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2025 Solved: 1110[Submit][Status][Discu ...
- 剑指offer(59)按之字形顺序打印二叉树
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 题目分析 这道题还是需要画图分析,不然不好找 ...
- FL studio钢琴卷工具简介
FL studio中的钢琴卷工具在业内各编曲软件中享有当之无愧的声誉.钢琴卷是一款将音符和自动数据发送到钢琴卷的频道相关联的插件.而钢琴卷的这个操作运行过程被称为“排序”. 下面给大家介绍讲解钢琴卷中 ...