和put()不同,put()显示字符,write()显示字符串。它的第一个参数提供了要显式的字符串的地址,第二个参数指出要显式多少个字符。使用cout调用write()时,将调用char具体化,因此返回类型为ostream&。
有的编译器在第三次输出时,将state2的值输完后并不会停止,而是接着输出一个空格和state3 的前4个字符。
write()方法也可用于数值数据,不过输出的可不是数值,而是把表示数值的字节独立地输出,比如:long是4个字节,下面的倒数2、3行将输出4个字符,或者是乱码,因编译器而异。
#include< ;iostream>
#include <cstring>
int main()
{
using std::cout;
using std::endl;
const char * state1="Florida";
const char * state2="Kansas";
const char * state3="Euphoria";
int len=std::strlen(state2);
cout<<"Increasingloop index:n";
int i;
for(i=0;i<len;i++)
{
cout.write(state2,i);
cout<<endl;
}
cout<<"Decreasingloop index:n";
for(i=len;i>0;i--){cout.write(state2,i)<<endl;}
cout<<"Exceedingstring length:n";
cout.write(state2,len+5)<<endl;
longval=560031841;
cout.write((char *)&val,sizeof(long))<<endl;
system("pause");
}