对文件的输入与输出

合集下载

掌握计算机中的输入输出操作

掌握计算机中的输入输出操作

掌握计算机中的输入输出操作计算机是现代社会中不可或缺的一部分,它可以实现各种功能,从处理大量数据到提供娱乐和媒体内容。

要完全掌握计算机使用的技能,了解输入输出操作是至关重要的。

本文将介绍计算机中的输入输出操作的概念、方法和应用。

一、什么是计算机中的输入输出操作计算机中的输入输出操作(Input/Output,简称I/O)是指计算机与外部设备之间的数据交互过程。

用户可以通过输入设备向计算机传输数据,而计算机则通过输出设备将结果或信息呈现给用户。

输入输出操作是计算机系统中的基本组成部分,它使得计算机能够与外部世界进行交流与互动。

二、计算机中的输入操作1. 键盘输入:键盘是计算机最基本的输入设备之一,它通过按键的方式向计算机输送数据。

用户可以通过键盘输入文字、数字、符号等信息。

2. 鼠标输入:鼠标可以通过手指的移动和点击操作向计算机传递指令和数据。

鼠标可以控制光标在计算机屏幕上进行定位、选中和操作。

3. 扫描仪输入:扫描仪可以将纸质文件或图片等物理形式的信息转换为计算机能够理解的数字数据。

扫描仪广泛应用于文档数字化、图像处理等领域。

4. 传感器输入:计算机可以通过传感器接收来自外部环境的信息,如温度、湿度、光强等。

传感器可以帮助计算机实现自动化控制和监测。

三、计算机中的输出操作1. 显示器输出:显示器是计算机输出设备的主要形式,它可以通过屏幕显示文字、图像和视频等信息。

显示器通常分为液晶显示器、LED显示器等多种类型。

2. 打印机输出:打印机可以将计算机中的文字、图像等信息输出到纸质媒体上。

打印机的种类有很多,包括喷墨打印机、激光打印机等。

3. 喇叭输出:计算机可以通过喇叭或音箱输出声音,实现音频播放和多媒体应用。

音频输出常用于音乐、电影和游戏等场景。

4. LED指示灯输出:计算机设备上的LED指示灯可以向用户显示设备的工作状态,如电源指示灯、硬盘运行指示灯等。

四、输入输出操作的应用1. 文字处理:通过键盘输入文字,然后通过显示器输出文字,实现对文档的编辑、存储和分享等功能。

文件的输入和输出

文件的输入和输出
据的最小单位是byte。另外注意的是,read方法是阻塞方法,也就是如果流对象中无数据可以读取的时候,read方法会
阻止程序继续向下运行,一直到有数据读取为止。常用的两种read方法:
public int read( byte[]b)throws IOException .
此方法的作用是读取当前流对象的数据,并把读取到的数据依次存储到数组b中,流中已经读取过得数据会被删除,后续的
出到数据源。当流关闭时,输出流内部的数据会被强制输出。
在字节输出流outputstream中,常见的方法有:
flush方法:public void flush()throws IOException
该方法的作用是将当前流对象中的缓冲数据强制输出。使用该方法可以实现立即输出。
write的方法常用的有两种:
数据会变成流中的第一个字节。而实际读取的字节数量则作为方法的返回值返回。
public int read(byte[]b,int off,int len)throws IOException
这种方法也是将读取的数据存储到b中,只是将流中第一个数据存储到b中下标为off的位置,最多读取len个数据,而实际
public int write( byte[]b)throws IOException .
该方法的作用是将数组b中的数据依次写入当前的流对象中。
public int write(byte[]b,int off,int len)throws IOException
该方法的作用是将数组b中从下标为off(包含)开始,后续长度为len个的数据依次写入流对象中。
3.字符输出流Writer
字符输出流Writer和字节输出流outputstream功能上类似,不同的是Writer每次写入的最少是一个字符(两个字节)的

二级C语言历年真题汇总__第10章对文件的输入输出-李赛红

二级C语言历年真题汇总__第10章对文件的输入输出-李赛红

二级C语言历年真题汇总__第10章对文件的输入输出-李赛红第10章对文件的输入输出(20xx年x月真题)(40)有以下程序#include <stdio.h>main(){ FILE *fp;int i,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w+");for(i=0;i<6;i++) fprintf(fp,"%d\n",a[i]);rewind(fp);for(i=0;i<6;i++) fscanf(fp,"%d",&a[5-i]);fclose(fp);for(i=0;i<6;i++) printf("%d,",a[i]);}程序运行后的输出结果是A)4,5,6,1,2,3, B)1,2,3,3,2,1,C)1,2,3,4,5,6, D)6,5,4,3,2,1,答案:D(20xx年x月真题)40、以下函数不能用于向文件写入数据的是A ftellB fwriteC fputcD fprintf答案:A(20xx年x月真题)40.有以下程序#include<stdio.h>main(){FILE *fp; int k,n,i,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");for(i=0;i<6;i++)fprintf(fp,"%d\n",a[i]);fclose(fp); fp=fopen("d2.dat","r");for(i=0;i<3;i++)fscanf(fp,"%d%d",&k,&n);fclose(fp); printf("%d,%d\n",k,n); }程序运行后的输出结果是A.1,2B.3,4C.5,6D.123,456答案:C(20xx年x月真题)(40)设fp已定义,执行语句fp=fopen("file","w");后,以下针对文本文件file操作叙述的选项中正确的是A)写操作结束后可以从头开始读 B)只能写不能读C)可以在原有内容后追加写 D)可以随意读和写(20xx年x月真题)(40)有以下程序#include#include<stdio.h>main(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fopen("myfile.data","a+");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp); }程序运行后的输出结果是A) abc B) 28c C) abc28 D)因类型不一致而出错答案:B(20xx年x月真题)(40)下列关于C语言文件的叙述中正确的是A)文件由一系列数据依次排列组成,只能构成二进制文件B)文件由结构序列组成,可以构成二进制文件或文本文件C)文件由数据序列组成,可以构成二进制文件或文本文件D)文件由字符序列组成,其类型只能是文本文件答案:C(20xx年x月真题)40.有以下程序#include <stdio.h>main(){ FILE *f;f=fopen("filea.txt","w"); fprintf(f,"abc"); fclose(f); }若文本文件filea.txt中原有内容为:hello,则运行以上程序后,文件filea.txt的内容为A)helloabc B)abclo C)abc D)abchello答案:C(20xx年x月真题)(40)有以下程序#include <stdio.h>main(){ FILE *pf;char *s1="China", *s2="Beijing";pf=fopen("abc.dat","wb+");fwrite(s2,7,1,pf);rewind(pf); /*文件位置指针回到文件开头*/fwrite(s1,5,1,pf);fclose(pf);}以上程序执行后abc.dat文件的内容是A) China B) Chinang C) ChinaBeijing D) BeijingChina答案:B(20xx年x月真题)30、下列叙述中错误的是( )。

labview文件的输入输出

labview文件的输入输出

文件I/O函数
LabVIEW的文件输入输出操作包括三个基本步骤:
打开一个已存在的文件或创建一个新文件; 对文件的读或写操作; 关闭打开的文件。
LabVIEW的文件操作还包括文件或路径的改名与移动、 改变文件特征、创建、修改和读取系统设置文件、记录 前面板对象数据。
LabVIEW提供的文件输入输出函数位于函数模板的File I/0子 模板和Waveform→ Waveform File I/O子模板中,分别 被用于数据文件和波形文件存取,
读取的数据记录如下:
波形文件的输入输出
波形文件实际也是一种数据记录文件。一个波形 包括采样开始时间t0,采样时间间隔dt,和采样数 据(一个数组)三部分信息。
1. 写波形文件
写波形文件程序前面板:
2. 读波形文件 读波形文件程序框图:
读波形文件程序前面板:
作业
1.产生若干周期的正弦波数据,以当前系统日 期和自己姓名为文件名,分别存储为文本文件、 二进制文件和电子表文件。然后将存储的数据文 件读出来并显示在前面板上。
按以下流程存储数据记录文件:
建立空文件 将不同数据类型合成簇。 将簇写入文件 关闭文件
1. 写数据记录文件
数据记录文件类似于数据库文件,每个记录 实际就是一个簇。如上图,该簇由一个字符串, 一个数值和一个数组构成。
2. 读数据记录文件
注意:如果dadtlog type参数的数据类型与数 据记录文件中的数据类型不匹配,程序运行后不 能读出数据,并返回类型冲突的出错信息。
完成后关闭该文件。
2 读电子表格文件(Read From Spreadsheet File) 从一个电子表格文件中读取一定数量的数据, 并把这些数值字符串转换成单精度浮点数后,从 一个二维数组中返回。节点图标及连接端口如下 图:

Matlab中的文件输入输出操作详解

Matlab中的文件输入输出操作详解

Matlab中的文件输入输出操作详解引言在Matlab编程中,文件输入输出操作是非常常见且重要的一部分。

无论是读取数据还是将结果保存至文件中,文件输入输出都是连接Matlab与外部环境之间的桥梁。

本文将详解Matlab中的文件输入输出操作,包括文件读取、文件写入、文件追加等方面的内容。

一、文件读取1. 读取文本文件在Matlab中读取文本文件非常简单。

通过使用`fopen`函数,我们可以打开一个文本文件,返回一个文件描述符。

然后,我们可以使用`fscanf`、`fgets`等函数逐行或逐个字符读取文件内容。

最后使用`fclose`函数关闭文件。

示例代码:```fid = fopen('data.txt', 'r');while ~feof(fid)line = fgetl(fid);disp(line);endfclose(fid);```2. 读取二进制文件与读取文本文件类似,读取二进制文件也需要使用`fopen`函数打开文件。

不同之处在于,我们使用`fread`函数以指定的格式读取文件内容。

同样,读取完毕后使用`fclose`函数关闭文件。

示例代码:```fid = fopen('data.bin', 'rb');data = fread(fid, 'double');fclose(fid);disp(data);```二、文件写入1. 写入文本文件想要将数据写入文本文件,我们可以通过`fopen`函数打开一个新的文件,并使用`fprintf`函数将数据进行格式化输出。

最后使用`fclose`函数关闭文件。

示例代码:```fid = fopen('result.txt', 'w');fprintf(fid, '%s\n', 'Hello, World!');fclose(fid);```2. 写入二进制文件与写入文本文件类似,写入二进制文件也需要使用`fopen`函数打开一个新的文件。

文件操作与输入输出

文件操作与输入输出

文件操作与输入输出文件操作与输入输出是计算机编程中常用的基本操作,主要涉及文件的读写、数据的输入输出等功能。

本文将介绍文件操作与输入输出的相关概念、常见用法以及示例代码。

一、文件操作文件操作是指对计算机文件进行读写、创建、删除和修改等操作。

在计算机编程中,常用的文件操作函数包括打开文件、关闭文件、读取文件内容、写入文件内容等。

下面以Python语言为例,介绍几个常用的文件操作函数及其用法。

1. 打开文件在Python中,可以使用open()函数来打开文件,语法如下:```pythonfile = open(filename, mode)```其中,filename为要打开的文件名,mode为打开文件的模式,常见的模式有:- 'r':只读模式,用于读取文件内容;- 'w':写入模式,用于写入文件内容,如果文件存在则先清空文件内容再写入;- 'a':追加模式,用于在文件末尾追加内容,如果文件不存在则创建新文件。

2. 读取文件内容打开文件后,可以使用read()函数来读取文件内容,语法如下:```pythoncontent = file.read()```read()函数会将整个文件的内容读取到一个字符串变量中,并返回该字符串。

3. 写入文件内容打开文件后,可以使用write()函数来写入文件内容,语法如下:```pythonfile.write(content)```其中,content为要写入的字符串。

4. 关闭文件文件操作完成后,需要使用close()函数关闭文件,语法如下:```pythonfile.close()```关闭文件可以释放系统资源,并确保文件内容已保存。

二、输入输出输入输出是指程序与用户或其他设备之间进行信息交互的过程。

在计算机编程中,常见的输入输出方式有命令行输入输出、标准输入输出和文件输入输出。

1. 命令行输入输出命令行输入输出是指通过命令行界面与程序进行交互。

文件输入输出管理制度最新

文件输入输出管理制度最新

文件输入输出管理制度最新(Draft)第一章总则为规范和监督文件输入输出管理行为,保障文件的安全性、完整性和可审查性,提高文件管理工作效率,制定本制度。

第二章文件输入管理1.文件输出者文件输出者应当严格按照相关规定开展文件输出工作,保证文件输出的合法性和安全性。

2.文件输出审批文件输出者在进行文件输出前,应按照规定进行审批程序,确保文件输出的合法性和必要性。

3.文件输出方式文件输出方式包括打印、复印、传真、扫描、拍照、录像等,文件输出者应当根据实际需要选择合适的方式进行输出。

4.文件输出标识文件输出者在进行文件输出时,应当对文件进行标识,包括文件密级、文件输出时间、文件输出者等信息。

5.文件输出备份文件输出者应当对输出的重要文件进行备份,确保文件的安全可靠。

第三章文件输入管理1.文件输入方式文件输入方式包括扫描、拍照、录像、复印、传真等,文件输入者应当根据实际需要选择合适的方式进行输入。

2.文件输入审批文件输入者在进行文件输入前,应按照规定进行审批程序,确保文件输入的合法性和必要性。

3.文件输入标识文件输入者在进行文件输入时,应当对文件进行标识,包括文件来源、文件输入时间、文件输入者等信息。

4.文件输入保密文件输入者应当确保文件的保密性,特别是对于涉密文件的输入,应当采取严格的保密措施。

第四章文件管理监督1.文件监督机构设立专门机构对文件输入输出管理进行监督,负责文件输入输出的审批和监管工作。

2.文件输入输出审查文件监督机构应当对文件输入输出进行定期审查,确保文件的安全可靠。

3.文件违规处理对于文件输入输出中存在违规行为的,应当依法进行处理,对违规人员进行相应的责任追究。

第五章附则1.本制度自发布之日起执行。

2.对于不符合本制度规定的文件输入输出行为,应当及时进行整改。

3.本制度的解释权归XX公司所有。

4.本制度未尽事宜,由相关部门负责解释和补充规定。

以上就是文件输入输出管理制度的内容,针对不同的企业类型和规模,具体的管理制度可进行调整和修改。

Lecture08_文件管理与输入输出

Lecture08_文件管理与输入输出
A FileOutputStream is an output stream for writing data to a File. 常用构造方法如下:
3 文件字节流
示例:使用文件字节流实现文件的复制.
public static void copy(File src, File tar) { FileInputStream srcStream = null; FileOutputStream desStream = null; try { srcStream = new FileInputStream(src); desStream = new FileOutputStream(tar); int data; while((data = srcStream.read())!=-1) { desStream.write(data); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if(desStream!=null) { try { desStream.close(); } catch (IOException e) { e.printStackTrace(); } } if(srcStream!=null) { try { srcStream.close(); } catch (IOException e) { e.printStackTrace(); } } }
1 File类
与文件信息相关方法 long lastModified(),
返回此文件最后一次被修改的时间。 long length(),
返回由此文件的长度,字节为单位。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

对文件的输入与输出
10.1 C文件的有关基本知识
什么是文件:
文件有不同的类型,在程序设计中,主要用到两种文件:
(1)程序文件。

包括源程序文件(后缀为.c)、目标文件(后缀为.obj)、可执行文件(后缀为.exe)等。

(2)数据文件。

文件的内容不是程序,而是供程序运行时读写的数据,如在程序运行过程中输出到磁盘(或其他外部设备)的数据,或在程序中供读入的数据。

操作系统把各种设备都统一作为文件来处理。

所谓“文件”一般指存储在外部介质上数据的集合。

输入输出是数据传送的过程,称为流(stream),即数据流。

C语言把文件看作是一个字符(或字节)的序列,即由一个一个字符(或字节)的数据顺序组成。

文件名:
一个文件要有一个唯一的文件标识,以便用户识别和引用。

文件标识包括3部分:
1.文件路径
2.文件名主干
3.文件后缀
如下:
D:\CC\temp\ file.dat
文件路径文件名主干文件后缀
文件名主干的命名规则遵循标识符的命名规则。

文件的分类:
根据数据的组织形式,数据文件可分为ASCII文件和二进制文件。

ASCII文件又称文本文件(text file),每一个字节放一个字符的ASCII代码。

ANSI C标准采用“缓冲文件系统”处理数据文件,所谓缓冲文件系统是指系统自动地在内存区为程序中第一个正在使用的文件开辟一个文件缓冲区。

定义一个指向文件类型数据的指针变量:
FILE *fp;
定义fp是一个指向FILE类型数据的指针变量。

可以使fp指向某一个文件的文件信息区(是一个结构体变量),通过该文件信息区中的信息就能够访问该文件。

也就是说,通过文件指针变量能够找到与它相关联的文件。

注意:指向文件的指针变量并不是指向外部介质上的数据文件的开头,而是指向内存中的文件信息区的开头。

10.2 打开与关闭文件
所谓“打开”是指为文件建立相应的信息区(用来存放有关文件的信息)和文件缓冲区(用来暂时存放输入输出的数据)。

用fopen函数打开数据文件:
ANSI C规定了用标准输入输出函数fopen来实现打开文件。

fopen函数的调用格式:
fopen(文件名,使用文件方式);
例如:
fopen(“a1”,”r”);
用fclose函数关闭数据文件:
“关闭”就是撤销文件信息区和文件缓冲区,使文件指针变量不再指向该文件,也就是文件指针变量与文件“脱钩”,此后不能再通过该指针对原来与其相联系的文件进行读写操作,除非再次打开,使该指针变量重新指向该文件。

关闭文件用fclose函数。

fclose函数调用的一般形式:
fclose(文件指针);
如:
fclose (fp);
如果不关闭文件将会丢失数据。

fclose函数也带回一个值,当成功地执行了关闭操作,则返回值为0;否则返回EOF(-1)。

EOF是文件读结束标志符。

10.3 顺序读写数据文件:
顺序读写需要用到库函数来实现。

向文件读写字符:
①fgetc(fp);
从fp指向的文件读入一个字符
②fputc(ch,fp);
把字符ch写到文件指针变量fp所指向的文件中
向文件读写一个字符串:
①fgets(str,n,fp);
从fp指向的文件读入一个长度为(n-1)的字符串,存放到字符数组str中。

②fputs(str,fp);
把str所指向的字符串写到文件指针变量fp所指向的文件中。

用格式化的方式读写文件:
①fprintf(文件指针,格式字符串,输出表列);
②fscanf(文件指针,格式字符串,输入表列);
用二进制方式向文件读写一组数据:
①fread(buffer,size,count,fp);
②fwrite(buffer,size,count,fp);
buffer:是一个地址。

对fread来说,它是用来存放从文件读入的数据的存储区的地址。

对fwrite来说,是要把此地址开始的存储区中的数据向文件输出(以上指的是起始地址)。

size:要读写的字节数。

count:要读写多少个数据项(每个数据项长度为size)。

fp:FILE类型指针。

如:
fread(f,4,10,fp);
其中f是一个float型数组名(代表数组首元素地址)。

这个函数从fp所指向的文件读入10个4个字节的数据,存储到数组f中。

在打开文件时指定用二进制文件,这样就可以用fread和fwrite函数读写任何类型的信息。

如:
假设学生的数据已存放在磁盘文件中,可以用下面的for语句和fread函数读入40个学生的数据:
for(i=0;i<40;i++)
fread(&stud[i],sizeof(struct Student_type),1,fp);
执行40次循环,每次从fp指向的文件中读入结构体数组stu的一个元素。

同样,以下for循环和fwrite函数可以将内存中的学生数据输出到磁盘文件中去:
for(i=o;i<40;i++)
fwrite(&stud[i],sizeof(struct Student_type),1,fp);
fread或fwrite函数的类型为int型,如果fread和fwrite函数执行成功,则函数返回值为形参count的值(一个整数),即输入或输出数据项的个数。

10.4 随机读写数据文件:
文件位置标记及其定位:
1.随机读写:
所谓“随机读写”,是指读写完上一个字符(字节)后,并不一定要读写其后续的字符(字节),而可以读写文件中任意位置上所需要的字符(字节)。

即对文件读写数据的顺序和数据在文件中的物理顺序一般是不一致的。

可以在任何位置写入数据,在任何位置读取数据。

2.文件位置标记的定位
①用rewind函数使文件位置标记指向文件开头
rewind函数的作用是使文件位置标记重新返回文件的开头,此函数没有返回值。

②用fseek函数改变文件位置标记
fseek函数的调用形式为:
fseek(文件类型指针,位移量,起始点);
“位移量”指以“起始点”为基点,向前移动的字节数。

位移量应是long型数据(在数字的末尾加一个字母L,就表示是long 型)。

fseek函数一般用于二进制文件。

如下:
fseek(fp,100L,0);
将文件位置标记向前移到离文件开头100个字节处
fseek(fp,50L,1);
将文件位置标记向前移到离当前位置50个字节处
fseek(fp,-10L,2);
将文件位置标记从文件末尾处向后退10字节
ftell函数的作用是得到流式文件中文件位置标记的当前位置。

由于文件中的文件位置标记经常移动,人们往往不容易知道其当前位置,所以常用ftell函数得到当前位置,用相对于文件开头的位移量表示。

如果调用函数出错(如不存在fp指向的文件),ftell函数返回值为-1L。

如:
i=ftell(fp); //变量i存放文件当前位置
if(i==-1L)printf(“error\n”);//如果调用函数时出错,输出“error”。

10.5 文件读写的出错检测
①ferror函数
在调用各种输入输出函数(如putc,getc,fread,fwrite等)时,如果出现错误,除了函数返回值有所反映外,还可以用ferror函数检查。

调用形式:
ferror(fp);
如果feeror返回值为0(假),表示未出错;如果返回一个非零值,表示出错。

应该注意,对同一个文件每一次调用输入输出函数,都会产生一个新的ferror函数值,因此,应当在调用一个输入输出函数后立即检查ferror函数的值,否则信息会丢失。

②clearerr函数
clearerr的作用是使文件错误标志和文件结束标志置为0。

假设在调用一个输入输出函数时出现错误,ferror函数值为一个非零值。

应该立即调用clearerr(fp),使ferror(fp)的值变成0,以便再进行下一次的体测。

只要出现文件读写错误标志,它就一直保留,直到对同一文件调用clearerr函数或rewind函数,或任何其他一个输入输出函数。

//作者:狗蛋
//时间:2017年3月6日星期一。

相关文档
最新文档