C 有 fgets(), gets() 函数,也有getline.用于读取一行字符直到换行符,包括换行符。这个和我们前面那篇关于标准输入输出函数

流与缓冲区那篇中内容有联系,

printf() scanf() 属于行缓冲,读取一行数据(遇到'\n')便会刷新。

我们可以利用getline()一行一行的读取数据.

我的config文件下有这几行数据:

1700003137

1700003137.pem

GUID_file[1700003137001342].txt

licence.sign.file[1700003137001342].txt

#include

#include

int main(void)

{

FILE * fp;

char * line = NULL;

size_t len = 0;

ssize_t read;

fp = fopen("./data/config", "r");

if (fp == NULL)

exit(EXIT_FAILURE);

while ((read = getline(&line, &len, fp)) != -1)

{//一行一行读,读完一行,直接跳到下一行

//printf("Retrieved line of length %zu :\n", read);

line[read-1]='\0';//将换行符'\n'替换成 '\0'

printf("%s", line);

}

//判断 line 是否为空指针,如果不是需要释放

if (line)

free(line);

exit(EXIT_SUCCESS);

}

运行结果如下:

17000031371700003137.pemGUID_file[1700003137001342].txtlicence.sign.file[1700003137001342].txt

#include

#include

int main(void)

{

FILE * fp;

char * line = NULL;

size_t len = 0;

ssize_t read;

fp = fopen("./data/config", "r");

if (fp == NULL)

exit(EXIT_FAILURE);

while ((read = getline(&line, &len, fp)) != -1)

{

// printf("Retrieved line of length %zu :\n", read);

// line[read-1]='\0';

printf("%s", line);

}

if (line)

free(line);

exit(EXIT_SUCCESS);

}

运行结果如下:

1700003137

1700003137.pem

GUID_file[1700003137001342].txt

licence.sign.file[1700003137001342].txt

参考:http://blog.csdn.net/zqixiao_09/article/details/50253883

linux getline参数,[置顶]linux getline()函数相关推荐

  1. linux 协议栈 位置,[置顶] Linux协议栈代码阅读笔记(一)

    Linux协议栈代码阅读笔记(一) (基于linux-2.6.21.7) (一)用户态通过诸如下面的C库函数访问协议栈服务 int socket(int domain, int type, int p ...

  2. qt窗口置顶linux环境下,Qt 实现窗口置顶与取消置顶

    原生的Qt 实现窗口置顶的方法 setWindowFlags(Qt::WindowStaysOnTopHint); 目前还不知道怎么实现取消窗口置顶,还请知道使用的哥们分享. 我通过window AP ...

  3. linux脚本参数获取时间戳,Linux系统date命令的参数及获取时间戳的方法

    date指令相关用法示例 date 用法: date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] ...

  4. linux tcp参数调优,Linux TCP 性能调优笔记

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 为了保证可靠连接,tcp 建立连接需要"三次握手",这三次握手对 tcp 的性能有至关重要的影响. ...

  5. linux系统内核参数配置优化,Linux服务器内核参数优化

    Linux内核参数调优主要是通过修改/proc伪文件系统和/etc/sysctl.conf配置文件的参数来实现的. /proc目录结构如下: /proc/driver        与驱动器相关的信息 ...

  6. linux中v参数全称,[置顶] linux 命令中的 -v 参数

    也不知从何时起,我比较关注 各种软件的版本号,从ubuntu 9.10 到 14.04 14.10 再到Qt 软件的4,7.0 到5.3.1 ,再到arm-linux-gcc 4.4.1 等等,我觉着 ...

  7. [置顶] Linux协议栈代码阅读笔记(一)

    Linux协议栈代码阅读笔记(一) (基于linux-2.6.21.7) (一)用户态通过诸如下面的C库函数访问协议栈服务 int socket(int domain, int type, int p ...

  8. linux 命令 置顶,[置顶] Linux命令惯用法

    1 硬连接与软连接 ln a b 这是硬连接,a文件和b文件是同一个inode,连接数为2 ln -s a c 这是符号连接,c文件是一种特殊的文件,即连接文件,指向a,c文件的inode和a文件的i ...

  9. qt5 linux 窗口不能置顶_Qt 5.15 LTS发布,Qt 6要来了

    Qt 5.15 LTS 已经发布了,这是 Qt 5 系列的最后一个功能版本,为下一个主要版本 Qt 6 做了大量准备工作.此版本将为所有商业许可证持有者提供三年的长期支持,在三年的支持期后,可以选择提 ...

最新文章

  1. 基于 RT-Thread的麦克纳姆轮小车循迹运动控制算法开发和研究
  2. vue点击图片后复制图片url_简单漂亮的(图床工具)开源图片上传工具——PicGo...
  3. Autoencoder 详解
  4. 【COCOS2DX隐藏IOS7状态栏】通过添加PLIST KEY隐藏IOS7状态栏
  5. Qt:Qt实现网页自动刷新工具
  6. SpringBoot2.x整合Activiti7后,禁用SpringBootSecurity问题
  7. Go实现简单TCP扫描器
  8. C# .Net中的类型转换(3)
  9. 《JavaScript高级程序设计》Chapter 10 DOM
  10. TF-IDF及相似度计算
  11. Linux权限相关及yum源的配置
  12. 判断两根线段是否相交
  13. 易语言 word类excel类 的 源码和模块
  14. 毕业设计,MD2模型动画展示
  15. 服务器配置ssh 登录,取消账号密码登录
  16. python csv文件比较
  17. NLP实战之基于LSTM的诗歌生成器
  18. win7如何设置wifi热点_博世壁挂炉“盖世7200i”WiFi功能如何设置
  19. 简单的射击类Android游戏--《环形射击》
  20. 华清远见上海中心22071班 9.21作业

热门文章

  1. Hadoop集群启动时NameNode未启动解决方法
  2. mysql传入乱码_mysql 插入中文乱码解决方案 --转了
  3. 【uva 1395】Slim Span(图论--最小生成树+结构体快速赋值 模版题)
  4. Codeforces Round #345 (Div. 1) D. Zip-line 上升子序列 离线 离散化 线段树
  5. 四川加油,中国人加油!我们永远不服输!
  6. mysql赋予权限的时候报错_想要远程连接MySQL,赋予root权限没用啊?一直报语法错误...
  7. ios图片放大之后如何不模糊_ios uiimageview的长宽放大3倍后 图片变模糊的问题
  8. 笔记本电脑自带麦克风吗_想让声音变得好听吗,不花一分钱,让你的电脑拥有外置麦克风...
  9. Cesium颜色调整
  10. 通过深度学习检测疟疾