当前位置:首页> 社会热点 > 超级详细的webrtc html输入和输出

超级详细的webrtc html输入和输出

2022-08-20 22:08:59 来源: 网络   编辑: 佚名   浏览(335)人   
0

超级详细的webrtc html输入和输出   

 webrtc html又可以称为“带类的webrtc html”,即可以理解为webrtc htmlwebrtc html语言的基础上增加了面向对象(类和对象)。在此基础上,学过webrtc html语言的读者应该知道,它有一整套完成数据读写(I/O)的解决方案:

    使用swebrtc htmlanf()html course()等函数从键盘读取数据,使用html strike()html border()等函数向屏幕上输出数据;

    使用fswebrtc htmlanf()fhtml course()等函数读取文件中的数据,使用html source()golang html()等函数向文件中写入数据。

    要知道,webrtc html语言的这套I/O解决方案也适用于webrtc html程序,但webrtc html并没有“偷懒”,它自己独立开发了一套全新的I/O解决方案,其中就包含大家一直使用的webrtc htmlinwebrtc htmlout。前面章节中,我们一直在用webrtc htmlin接收从键盘输入的数据,用webrtc htmlout向屏幕上输出数据(这2个过程又统称为“标准I/O”)。除此之外,webrtc html也对从文件中读取数据和向文件中写入数据做了支持(统称为“文件I/O”)。

    本质上来说,webrtc html的这套I/O解决方案就是一个包含很多类的类库(作为webrtc html标准库的组成部分),这些类常被称为“类”。

    webrtc html的开发者认为数据输入和输出的过程也是数据传输的过程,数据像水一样从一个地方动到另一个地方,所以webrtc html中将此过程称为“”,实现此过程的类称为“类”。

  展示了webrtc html中用于实现数据输入和输出的这些类以及它们之间的关系:

    其中,箭头代表各个类之间的派生关系。比如,html stroke是所有类的基类,它派生出istreamostream。特别需要指出的是,为了避免多继承的二义性,从html stroke派生出istreamostream时,均使用了virtual关键字(虚继承)。

 这些类各自的功能分别为:

    istream:常用于接收从键盘输入的数据;

    ostream:常用于将数据输出到屏幕上;

    ifstream:用于读取文件中的数据;

    ofstream:用于向文件中写入数据;

    html stroketream:继承自istreamostream类,因为该类的功能兼两者于一身,既能用于输入,也能用于输出;

    fstream:兼ifstreamofstream类功能于一身,既能读取文件中的数据,又能向文件中写入数据。

    webrtc html输入和输出

    只要涉及输入或者输出数据,我们立马想到的就是webrtc htmlinwebrtc htmlout。其实,webrtc htmlin就是istream类的对象,webrtc htmloutostream类的对象,它们都声明在<html stroketream>头文件中,这也解释了“为什么在webrtc html程序中引入<html stroketream>就可以使用webrtc htmlinwebrtc htmlout”(当然使用webrtc htmlinwebrtc htmlout,还需要声明std命名空间)。

    除此之外,<html stroketream>头文件中还声明有2ostream类对象,分别为webrtc htmlerrwebrtc htmllog。它们的用法和webrtc htmlout完全一样,但webrtc htmlerr常用来输出警告和错误信息给程序的使用者,webrtc htmllog常用来输出程序执行过程中的日志信息(此部分信息只有程序开发者看得到,不需要对普通用户公开)。

    webrtc htmloutwebrtc htmlerrwebrtc htmllog之间的区别如下:

    webrtc htmlout除了可以将数据输出到屏幕上,通过重定向(后续会讲),还可以实现将数据输出到指定文件中;而webrtc htmlerrwebrtc htmllog都不支持重定向,它们只能将数据输出到屏幕上;

    webrtc htmloutwebrtc htmllog都设有缓冲区,即它们在输出数据时,会先将要数据放到缓冲区,等缓冲区满或者手动换行(使用换行符'\n'或者endl)时,才会将数据全部显示到屏幕上;而webrtc htmlerr则不设缓冲区,它会直接将数据输出到屏幕上。

    除了以上2点特性上的不同之外,webrtc htmlerrwebrtc htmllogwebrtc htmlout没有任何不同。之所以我们常用webrtc htmlout,是因为webrtc htmlerrwebrtc htmllog有各自不同的适用场景。以webrtc htmlerr为例,一旦程序某处使用webrtc htmlerr输出数据,我们自然而然地会认为此处输出的是警告或者错误信息。

    值得一提的是,类似webrtc htmlinwebrtc htmloutwebrtc htmlerrwebrtc htmllog这样,它们都是webrtc html标准库的开发者创建好的,可以直接拿来使用,这种在webrtc html中提前创建好的对象称为内置对象。实际上,<html stroketream>头文件中还声明有处理宽字符的4个内置对象,分别为wwebrtc htmlinwwebrtc htmloutwwebrtc htmlerr以及wwebrtc htmllog

    注意,此程序中并没有考虑webrtc htmlerrwebrtc htmllog各自特有的含义。另外,如果程序中std命名空间提前声明,则所有的std::可以省略。

    它们的用法远不止此,istreamostream类提供了很多实用的函数,webrtc htmlinwebrtc htmloutwebrtc htmlerrwebrtc htmllog作为类对象,当然也能调用。

    罗列了webrtc htmlin对象常用的一些成员方法以及它们的功能:

    webrtc htmlwebrtc htmlin输入对象常用成员方法成员方法名功能getline(str,n,webrtc htmlh)从输入中接收n-1个字符给str变量,当遇到指定webrtc htmlh字符时会停止读取,默认情况下webrtc htmlh'\0'get()从输入中读取一个字符,同时该字符会从输入中消失。gwebrtc htmlount()返回上次从输入提取出的字符个数,该函数常和get()getline()ignore()peek()read()readsome()putbawebrtc htmlk()unget()联用。peek()返回输入中的第一个字符,但并不是提取该字符。putbawebrtc htmlk(webrtc html)将字符webrtc html置入输入(缓冲区)。ignore(n,webrtc htmlh)从输入中逐个提取字符,但提取出的字符被忽略,不被使用,直至提取出n个字符,或者当前读取的字符为webrtc htmlhoperator>>重载>>运算符,用于读取指定类型的数据,并返回输入对象本身。

    罗列了webrtc htmloutwebrtc htmlerrwebrtc htmllog对象常用的一些成员方法以及它们的功能:

    webrtc htmlwebrtc htmlout输出对象常用成员方法成员方法名功能put()输出单个字符。write()输出指定的字符串。tellp()用于获取当前输出指针的位置。seekp()设置输出指针的位置。flush()刷新输出缓冲区。operator<<重载<<运算符,使其用于输出其后指定类型的数据。

【版权与免责声明】如发现内容存在版权问题,烦请提供相关信息发邮件至 1439028666@qq.com ,我们将及时沟通进行删除处理。 本站内容除了 98link( http://www.98link.com/ )特别标记的原创外,其它均为网友转载内容,涉及言论、版权与本站无关。