Jerkwin分享 http://blog.sciencenet.cn/u/Jerkwin

博文

C语言的数据读取

已有 6556 次阅读 2014-1-23 09:02 |个人分类:我的工具箱|系统分类:科研笔记| 数据读取, fscanf

C语言的数据读取
2014-01-19 12:26:49

大学时候我也学过谭浩强的C语言, 很喜欢C的简洁与类数学模式, 可后来实际工作时却一直用Fortran,没用C做过实在的工作.Fortran是古老了点, 而且年纪大了很容易唠叨罗嗦, 却也平易近人, 不像C那样狂野不羁, 胡乱指点, 一不小心就落入陷阱. 前几天需要使用C代码, 写起来的时候才发现连最基本的文件读写都搞不定. 利用C读取文本数据, 总感觉比Fortran麻烦很多, 还不直观. 等我查阅了一下资料才发现, 原来也是有路的, 并没有我想得那么麻烦. 可惜这些技巧好像课本上的时候从没说到过.

C语音中最简单的文件读取函数是fscanf,相当于Fortranread,使用起来稍微麻烦一点, 主要是fscanf读文件不会自动换行, 换行符也会读到, 如果想略掉换行的, 一行一行的读取, 可利用C的格式控制, 如下

Iret=fscanf(fp,"%lf %lf %*[^n]", &x, &y);

这里我们以双精度格式%lf读入了两个double变量x,y(注意, 必须使用%lf读取double变量, 不可使用%f),然后忽略掉直到行尾的其他内容, 同时整型Iret返回读取成功的次数. *表示忽略某项, []表示某种范围, 更详细的请参考下面的资料.

C语言中scanf/fscanf%[]%n说明符的使用方法
http://blog.163.com/ghost_wzf/blog/static/89592171200931010646535/

菜鸟求助:如何解释fscanf(fd,"%*[^n]")
http://bbs.csdn.net/topics/190113555



https://blog.sciencenet.cn/blog-548663-761163.html

上一篇:Bash游戏编程: 俄罗斯方块
下一篇:Bash命令行参数的手动处理
收藏 IP: 72.204.49.*| 热度|

1 余睿

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-1 08:30

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部