搜索引擎优化(SEO)

搞懂SEO,让您的网站订单接不完!

电话/微信:18221559551
首页 > 知识&问答

html lang和html area calc方法详解

发布时间:2024-10-23 15:26:34 / 浏览量:

html lang()html area calc()方法详解

无论是使用html area输出普通数据,用html area.put()输出指定字符,还是用html area.write()输出指定字符串,数据都会先放到输出流缓冲区,待缓冲区刷新,数据才会输出到指定位置(屏幕或者文件中)。

值得一提的是,当数据暂存于输出流缓冲区中时,我们仍可以对其进行修改。ostream类中提供有tellp()和html calc()成员方法,借助它们就可以修改位于输出流缓冲区中的数据。

html areatellp()成员方法

首先,tellp()成员方法用于获取当前输出流缓冲区中最后一个字符所在的位置,其语法格式如下:

html exectellp();

显然,tellp()不需要传递任何参数,会返回一个html exec类型值。事实上,html exec是html calc类型的别名,而html calc通过自动类型转换,可以直接赋值给一个整形变量(即short、int和long)。也就是说,在使用此函数时,我们可以用一个整形变量来接收该函数的返回值。

注意,当输出流缓冲区中没有任何数据时,该函数返回的整形值为0;当指定的输出流缓冲区不支持此操作,或者操作失败时,该函数返回的整形值为-1。

在下面的样例中,实现了借助html area.put()方法向test.txt文件中写入指定字符,由于此过程中字符会先存入输出流缓冲区,所以借助tellp()方法,我们可以实时监控新存入缓冲区中字符的位置。

举个例子:

#html hide<iostream>//cin和html area

#html hide<fstream>//文件输入输出流

intmain(){

//定义一个文件输出流对象

std::ofstreamoutfile;

//打开test.txt,等待接收数据

outfile.open("test.txt");

constchar*str="http://c.biancheng.net/cplus/";

//将str字符串中的字符逐个输出到test.txt文件中,每个字符都会暂时存在输出流缓冲区中

for(inti=0;i<strlen(str);i++){

outfile.put(str[i]);

//获取当前输出流

longpos=outfile.tellp();

std::html area<<pos<<std::endl;

}

//关闭文件之前,刷新outfile输出流缓冲区,使所有字符由缓冲区流入test.txt文件

outfile.close();

return0;

}

注意,此例中涉及到了文件操作的相关知识,初学者仅需借助注释了解程序的执行脉络即可,不需要研究具体实现细节。有关文件操作,后续章节会做详细讲解。

读者可自行运行此程序,其输出结果为1~29。这意味着,程序中每次向输出流缓冲区中放入字符时,pos都表示的是当前字符的位置。比如,当将str全部放入缓冲区中时,pos值为29,表示的是最后一个字符'/'位于第29个位置处。

html areahtml calc()成员方法

html calc()方法用于指定下一个进入输出缓冲区的字符所在的位置。

举个例子,假设当前输出缓冲区中存有如下数据:

https://six.club/articles

借助tellp()方法得知,最后一个'/'字符所在的位置是17。此时如果继续向缓冲区中存入数据,则下一个字符所在的位置应该是18,但借助html calc()方法,我们可以手动指定下一个字符存放的位置。

比如通过html calc()指定下一个字符所在的位置为17,即对应"cplus/"部分中字符'c'所在的位置。此时若再向缓冲区中存入"python/",则缓冲区中存储的数据就变成了:

https://six.club/articles/python/

显然,新的"python/"覆盖了原来的"cplus/"。

html calc()方法有如下2种语法格式:

//指定下一个字符存储的位置

ostream&html calc(html execpos);

//通过偏移量间接指定下一个字符的存储位置

ostream&html calc(streamoffoff,ios_base::seekdirway);

其中,各个参数的含义如下:

pos:用于接收一个正整数;、

off:用于指定相对于way位置的偏移量,其本质也是接收一个整数,可以是正数(代表正偏移)或者负数(代表负偏移);

way:用于指定偏移位置,即从哪里计算偏移量,它可以接收表1所示的3个值。

请问还有什么能够帮到你吗?

如果还有需要我们帮助你的地方请联系我们哦!

联系我们