没有合适的资源?快使用搜索试试~ 我知道了~
IDL读取数据文件程序整理
5星 · 超过95%的资源 需积分: 30 79 下载量 82 浏览量
2011-07-28
15:41:13
上传
评论 1
收藏 846KB DOC 举报
温馨提示
试读
49页
提供了IDL读取ASCII码数据程序的诸多示例,同时整理了一些编写程序可能遇到的问题。
资源推荐
资源详情
资源评论
IDL 开发专题-灵活、多样的输入输出
本帖最后由 于 编辑
输入与输出
中输入输出的基本原则是:“只要有数据,就可以将其读进 , 对数据的格
式没有要求,也就是任何数据格式都能自由的解析,这使得 成为目前功能最强、最灵
活的科学可视化分析语言。
标准输入输出
输入输出函数
中读写 码文本是很重要的一部分。标准输入是键盘输入,标准输出指的是屏
幕输出显示。表 中列出了标准输入输出的几个函数。
格式化输出
数据的格式化输出是按照设计的格式进行输出。 支持“和“。
标准的输入输出时可以进行格式的自由控制,格式化控制的格式为:
!,各个字段代表的含义见表
如下面的
例子
"#$%&' ()*+
$,"-$"%
.
"#/%0$#,%12345202674892
"#/%0$#,%1230:520/;-/345
.
"#/%0$#,%123<*' <0=0<' <0%0<,&<52
"#/%0$#,%123<*' <0=0<' <0%60<,&<52
.
"#/%0$#,%123<*' <07=0<' <0%0<,&<52
.
"#/%0>%,-3?@A/5
"#/%0$#,%12335520>%,-3?@A/5
"#/%0$#,%1233,$0<?<05520>%,-3?@A/5
"#/%0$#,%1233B0<<0,0<<075520>%,-3?@A/5
.
"#/%0$#,%123<!C&+)D&'0'0<0<<00<E**) '<5200
2F) 207
"#/%0()*+ 123<!C&GH+)D&'<5207
.
E* 022=.十六进制转十进制
E* 0<.八进制转十进制
E* 090()*+ 123I52.十进制转二进制的
E* 090()*+ 123$52.十进制转到八进制
E* 090()*+ 123J52.十进制转到十六进制
-/
文件读写
打开文件
从磁盘上的文件读写数据,必须首先把一个逻辑设备号连接到一个特定的文件,然
后进行文件操作如打开、关闭和读取等。 中的逻辑设备号范围是K8,其中
99 是可以用户任意指定的,8 是根据 L& M 和 (*&&M 来管理的,其他是特殊
函数专用的。
是常规标准输入流,一般是键盘。也就是说下面命令是一致的:
N*&0G
N*&00G
是常规标准输出流,一般是显示屏幕,下面命令的功能是一致的:
N"#/%00=
N"#/%00=
是错误流,一般是显示屏幕。
文件操作相关的函数见表 6。
读写 码文件
在读写该文件分为有两种格式化文件:自由文件格式和确定的文件格式。
自由文件格式是用逗号或空白( H 键和空格键)分开文件中的每个元素的 文
件。确定的格式文件是用格式说明按照给定的规范进行编排的。二者相比后者比前者更正
规一些。
读写自由文件格式
下用 #& 从文件 中 读 入 自 由格 式数 据 , "* ( 写入自由格 式 数 据 到 文件
中。 中读写自由格式文件遵循下面的几个规则:
5如果读入到字符串变量中,那么,在当前行剩下的所有字符都将读入该变量中。
5输入数据必须用逗号或空白分隔(空格键或 H 键)。
5输入通过数字变量完成。数组和结构都可作为数字变量的集合。
65如果当前读入行是空的,并且还有变量要求输入,则读取另一行。
75如果当前读入行不是空的,但是没有变量要求输入,则忽略此行剩下的数。
45尽量将数据转换为变量所希望的数据类型。
5复数数据必须有实数和虚数两部分,用逗号分隔,并用括号括起来。
读写确定的文件格式
读写确定文件格式可同样用 #& 和 "* 命令,它们刚才已用于自由格式文件,但
现在文件格式已由 )*+ 关键字明 确声明。(在读写标准输入和输出时,也 可将
)*+ 关键字用于 #&和 "* 命令)。
通用的格式说明符
通用格式说明符 )*+ 关键字的语法参考
逗号分隔的确定格式
有时数据文件必须用确定格式书写,以方便它们被其它软件读取。用逗号分隔的数据
文件就是这类文件的典型代表。
)*+ 1O300G000G05O
字符串中读取格式数据
#& 是一个有用的 命令,可以从字符串变量而不是从文件中为自由格式或确定
格式读取数据。#& 运用了和命令 #& 和 #& 相同的读取格式数据规则。也就是
说,使用 #&就象从数据文件中读取一样,所不同的是所读的对象是一个字符串变
量。
当大量信息需从文件头部读取时,此命令特别有用。例如,假设 数据文件的第
一行说明了数据文件的行数和列数,此文件头可以从文件中读取,并且可创建一个大小正
确的数组来读取数据。
NP*' &1267@M&9942
NF)M+'1
N*)'1
N &122
N*&'0P*' &0F)M+'0*)'0 &
67@M&994
NE* 0F)M+'.0*)'0 &
NE* 0*)'.0 &
67
NE* 0 &
@M&994
向导式读取函数
中提供了 %-,"%-,QA-#> 和 #- 函数。
'F&1FM**& " !2 'F G 2
.依次读取
$"-/#0M0'FP&0?L& M
M-Q%B-/#-%A#/.
+E122
RB-3S-$3M55$I-;/
#-0M0 +E
-/RB-
#--A/0M
.分块读取
+E1%###35
1%##3065
( 1/%##35
$"-/#0M0'FP&0?L& M
#-0M0 +E
#-0M0
#--A/0M
.自定义格式读取
+E122
*)1
F)M+'1
E&1
$"-/#0M0'FP&0?L& M
.
#-0M0 +E
#-0 +E0*)0F)M+'0 E&
1,T-##>3*)0F)M+'0 E&1 E&5
#-0M0 +E
#-0M0 +E
#-0M0
#--A/0M
&+E &1'F &+E &3'F&5
1#&'F3'F&0%-,"%-1 &+E &0F)M 1/M+5
!&E0
E* 0 35
6综合应用举例
针对上面介绍的三种读取方式,对同一个数据采用了不同的读取方式进行了读取,附
代码。
读写二进制文件
二进制数据文件基本是以一长串的二进制字节存在文件中,这些字节的含义(也就是
说,这些字节如何翻译成特定数据类型和结构的)很难描述的,除非刚开始就知道文件写
入的是什么内容。二进制数据比格式化数据紧凑得多,经常用于存储大数据文件。有两种
命令读写二进制数据,它们与前面用来读取格式数据文件的 #& 和 "* 命令等效。它
们是 #&A 和 R* &A 命令。
要读取非格式数据文件,简单定义变量,打开文件读取,并用 #&A 命令将字节一个接
一个地读入变量中。如果给定了变量的数据类型和组织结构,每个变量按其要求从文件中
读出相应的字节数。
读写常规二进制文件
NI1I>%##39090?/$J-#$5
N.#& !& )I
N#-A00I
N.)'& !&P&
N$-0
N.'E !&+L&
N%U0I
读写带头文件的二进制文件
当 数 据 中 含 有 特定 的 头 文 件 时 , 读 取 的 时 候 有 时 希 望 直 接 跳 过 , 此 时 需 要 用
") M 函数,该函数支持对文件进行字节定位。
调用格式为 "$/%A/0A 0")' ),其中 A 是文件打开后的 M,")' )
一般是需要跳转的字节数。
关联变量读写二进制文件
关联变量是把一个 数组或结构变量的组织结构映射到数据文件的内容上。文
件被看作是这些重复单元的一个数组。 第一个单元的索引号是 ,第二个单元的索引号
等等。关联变量不象常规变量那样将整个数据组都存储在内存里。而是当一关联变量被引
用时, 仅对需要的部分数据执行相关的输入或输出请求,这部分数据就是要读入内存
的。
有时候大型的二进制数据文件都由一系列的重复单元组成。一个 关联变量通常是
处理这种数据形式的最好方式(有时候是唯一的方式)。
关联变量有下面的几个优点:
V当该变量被用于表达式时,才产生文件的输入和输出动作。不需要单独的读或写命令。
V数据集的大小不受内存容量的限制,因为有时它可处理大型的数据集。对于物理存储器
来说是太大的数据,通过把此数据分成块就能很容易地处理。
V不必提前声明用于映射该数据的数组或结构的数量。
V关联变量是效率最高的 ?$ 形式。
6向导式读取函数
#-I/#> 和 I/#>%-,"%-
#&I* 是直接读取二进制文件的函数,用法可参考下面的语句:
CB& 1#-I/#>3-"%B32!& 20:
AI#-%$#>12&G+E&'202 250%,180075
U$A,-0CB&
7例子
读 > 的 9R= 文件,> 的卫星黑体亮度温度产品,下面的格式说明是参
考国家卫星气候中心的《风云二号 卫星业务产品使用手册》。
"#$ &' #&IR=
剩余48页未读,继续阅读
静斋
- 粉丝: 3
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 服务器概述服务器概述服务器概述服务器概述.txt
- 华中农业大学python实验题.txt
- 海康威视相机采图交叉编译示例程序,c++
- DETR-基于Tensorflow实现DETR目标检测算法-附流程教程+项目源码-优质项目实战.zip
- 3d激光slam地图发布程序,3d地图点云处理,c++程序
- 送给妈妈的一束鲜花.zip(母亲节祝福HTML源码)
- 稀疏化DETR-基于Pytorch实现稀疏化DETR-SparseDETR-附流程教程+项目源码-优质项目实战.zip
- 人工分类:SLTM的微博评论二分类数据集
- (自适应手机端)响应式房产合同知识产权网站pbootcms模板 企业管理类网站源码下载.zip
- (自适应手机端)响应式动力刀座pbootcms网站模板 五金机械设备类网站源码下载.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页