您当前的位置:必威 > 必威国际 >
[输出]c++的输入与输出
发布时间:2019-08-24编辑:必威阅读:字号: 大 中 小
晶体管输出电路如图1所示,晶体管输出电路只能带直流负载,属于直流输出方式。双向晶闸管如图2所示,这种输出方式只能带交流负载,属于交流输出方式。继电器输出方式如图3所示,它可以带直流也可以带交流负载,属于交直流输出方式。以上三种输出方式,电源均有用户提供,当PLC有信号输出时,发光二极管亮。均采用电隔离技术,以保障其可靠性。
PLC 的输出方式如果按负载使用电源来分,有直流输出、交流输出、交直流输出三种方式。按输出开关器件来分,有晶体管、晶闸管和继电器三种输出方式。
按输出模块与外部用户输出设备的接续来分,也有汇点式输出和分隔式输出接续的两种基本形式。
此外,有的PLC设置有I/O双侧功能的I/O模块,这种模块既有若干个输入点,又有若干个输出点,各输入回路的直流电源由PLC内部电源提供,各输出回路的负载电源由用户提供,可以是直流也可以是交流。
该类在内存中创建一个字节数组缓冲区,从输入流读取的数据保存在该字节数组缓冲区中。
OutputStream抽象类是表示字节输出流的所有类的超类,它以字节为单位将数据写入数据源,其派生的常用子类说明如下:
Java输入输出流体系结构
从图中可以看出,Reader和Write为字符输入输出流,InputStream和OutputStream为字节输入输出流。这四个类属于抽象流类,不能在程序中直接实例化使用,可以使用其派生的类。
● public void write (char[] cbuf) throws IOExecption
该方法用于将len个字节的数据,并从数组b的off位置开始写入到输出流。
该类以字节为单位从文件中读取数据。
■ 知识点拨
为了便于理解输入输出流,前面都是以文件为数据源来讨论的。其实,Java的输入与输出流支持任何数据源的读取与写入,包括键盘、文件、网络、数据库等数据源。
● public int read(int b) throws IOExecption
● public int write(byte[] b,int off,int len) throws IOExecption
关闭此输出流,并释放与此输出流相关联的所有系统资源。
该类从数据源读取字节并将其解码为使用指定的字符集的字符。
● FileReader类
Writer抽象类是表示字符输出流的所有类的超类,它以字符为单位向数据源写出数据。其派生的常用子类说明如下:
该类在内存中创建一个字节数组缓冲区,所有发送到输出流的数据保存在该字节数组缓冲区中。
Java 对文件的写入和读取涉及到流的概念,写入为输出流,读取为输入流。如何理解流的概念呢?可以把流看成流动的自来水,打开水龙头,自来水就会通过自来水管从水源流到用户家中,同样的道理,水库中的水也会通过管道流入到水源。从水源流出到用户住家为自来水的输出流,从水库流入到水源为自来水的输入流,只有这样,自来水才能源源不断地流出到用户家中。
● BufferedWriter类
Reader类
InputStream抽象类是表示字节输入流的所有类的超类,它以字节为单位从数据源中读取数据,其派生的常用子类说明如下:
该类继承于InputStreamReader,用于读取字符类文件,如文本文件。
如果把水源看成文件,用户住家为读取文件的对象,水库为写入文件的对象,就很容易理解Java的输入与输出流了。当Java程序的写入对象(水库)需要将自来水写入到水源(文件)时,需要建立一条从写入对象(水库)到水源(文件)的通道,这个通道就是输入流;当Java程序的读取对象(用户住家)需要读取水源(文件)时,也需要建立一条从水源(文件)到读取对象(用户住家)的通道,这个通道就是输出流。
● public int read(byte[] b,int off,int len) throws IOExecption
Java程序读取与写入数据
● ByteArrayOutputStream类
● OutputStreamWriter类
关闭此输入流,并释放与此输入流相关联的所有系统资源。
该方法用于将字符读入到cbuf,返回读取的字符数。
关闭此输入流,并释放与此输出流相关联的所有系统资源。
InputStream类定义了Java的输入流模型,下面是其常用方法的一个说明:
该方法用于读取单个字符,返回作为整数读取的字符,如果已经到达流的末尾,返回-1。
在Java程序中,要想从文件中读取数据,需要在程序和文件之间建立一条数据输入的通道,这样程序就可以从文件中读取数据了;反之,如果要在Java程序中把数据写入到文件中,也需要在程序和文件之间建立一条数据输出的通道。当程序创建输入流对象时,Java会自动建立这个数据输入通道,而创建输出流时,Java也会自动建立这个数据输出通道。如下图所示:
该类用于将文本写入字符输出流,缓冲各个字符,从而提供单个字符,数组和字符串的高效写入。
该类从输入流读入对象,读取对象信息。
该方法用于将b.length个字节从指定的byte数组写入到输出流。
该方法用于向数据源写入单个字符。
● public abstract void write (char[] cbuf,int off,int len) throws IOExecption
该方法用于向数据源写入len个字符数据,并从数组cbuf的off位置开始。
输入流和输出流按读取和写入的数据单位可分为字节流和字符流,字节流是以字节为单位传输数据的流,字符流是以字符为单位传输数据的流。
该方法用于将指定的字节写入到输出流。
● FileInputStream类
关闭此输出流,关闭之前需先调用flush()。
流是一个抽象的概念,它代表一串数据的集合,当Java程序需要从数据源读取数据时,就需要开启一个到数据源的流。同样,当程序需要输出数据到目的地时,也需要开启一个流。流的创建是为了更方便地处理数据的输入和输出。
下面是Reader类的常用方法介绍。
该类以字节为单位将数据写入到文件。
该类将对象信息写入到输出流。
OutputStream类
●public abstract void write(int b) throws IOExecption
● public void close() throws IOExecption
●ObjectOutputStream类
● public abstract int read() throws IOExecption
● public void write(int b) throws IOExecption
该方法用于向数据源写入字符数组。
该方法用于读取len个字符的数据,并从数组cbuf的off位置读入到这个数组中。
刷新该输出流的缓冲,将缓冲的数据全部写入到数据源。
● ByteArrayInputStream类
InputStream类
● public abstract void close() throws IOExecption
● public abstract int read(char[] cbuf,int off,int len) throws IOExecption
该方法用于从输入流中读取b.length个字节的数据,并将数据存储到缓冲区数组b中,返回的是实际读到的字节数。
下面是OutputStream类的常用方法介绍。
下面是Writer类的常用方法介绍。
● public void write (String str) throws IOExecption
该方法用于从输入流中读取len个字节的数据,并从数组b的off位置开始写入到这个数组中。
输入流是从文件读取数据,是一个拉取数据的过程;输出流是将数据写入到文件,是一个推送数据的过程。
● FileOutputStream类
● InputStreamReader类
● public int read(byte[] b) throws IOExecption
● BufferedReader类
● public abstract void flush() throws IOExecption
前面介绍了Java.io包的File类,File类用于目录和文件的创建、删除、遍历等操作,但不能用于文件的读写。
Read抽象类是表示字符输入流的所有类的超类,它以字符为单位从数据源中读取数据。其派生的常用子类说明如下:
● FileWriter类
Java所提供的输入流和输出流类封装在Java.io包中,Java输入输出流的体系结构如下图所示:
● public abstract void close() throws IOExecption
● public int write(byte[] b) throws IOExecption
● ObjectInputStream类
该方法用于从输入流中读取数据的下一个字节,返回读到的字节值,若遇到流的末尾,返回-1。
该类将输出的字符流变为字节流,即将一个字符流的输出对象变为字节流的输出对象。
该类用于将缓冲区中的数据以字符为单位读取。
● public int read(char[] cbuf) throws IOExecption
该方法用于向数据源写入字符串。
Writer类
● public void close() throws IOExecption
该类从 OutputStreamWriter 类继承而来。该类按字符向字符类文件写入数据。
cin>>表达式1>>表达式2>>……>>表达式n;
#include
C++ 标准库提供了一组丰富的输入/输出功能,本章将讨论 C++ 编程中最基本和最常见的 I/O 操作。
cin语句一般格式:
cout语句一般格式:
当上面的代码被编译和执行时,它会产生下列结果:
例如:cout
当上面的代码被编译和执行时,它会提示用户输入名称。当用户输入一个值,并按回 车键,就会看到下列结果:
cout<<表达式1<<表达式2<<……<<表达式n;
例如:cin
流提取运算符 >> 在一个语句中可以多次使用,如果要求输入多个数据,可以使用如下语句:
有关流对象cin,cout和流运算符的定义等信息存放在c++输入输出流库中的,在处理输入输出流时必须包含头文件
输入输出流的基本操作
C++ 编译器根据要输入值的数据类型,选择合适的流提取运算符来提取值,并把它存储在给定的变量中。
C++ 编译器根据要输出变量的数据类型,选择合适的流插入运算符来显示值。<< 运算符被重载来输出内置类型(整型、浮点型、double 型、字符串和指针)的数据项。
c++输入与输出
输入输出并不是c++语言的正式组成成分,c和c++没有为输入输出提供专门的结构。在c语言中输入输出是通过调用scanf和printf 实现的,在c++中是通过调用流对象cin和cout实现的。