我仍然对c ++中的ostream和write(const char*s,streamsize n)和c ++中的cout之间的区别感到困惑.第一个函数将s指向的数据块(大小为n个字符)写入输出缓冲区.按顺序写入字符,直到写入n.而cout是类ostream的一个对象,表示标准输出流.它对应于cstdio流标准输出.任何人都可以清楚地看出这两个功能之间的差异.
Alo*_*ave 14
ostream& write ( const char* s , streamsize n );
Run Code Online (Sandbox Code Playgroud)
是无格式输出函数,写入的内容不一定是c-string
,因此在数组中找到的任何空字符s
都将复制到目标,并且不会结束写入过程.
cout
是类ostream的对象,表示标准输出流.
它可以写入字符或者作为格式化的数据使用例如在插入操作者ostream::operator<<
或作为无格式数据使用write
成员函数.
你问的是一个类成员函数和一个类的实例有什么区别? cout
是一个ostream
和具有一个write()
方法.
至于cout << "Some string"
和之间的区别cout.write("Some string", 11)
:它确实相同,<<
可能会稍微慢一些因为write()
它可以优化,因为它事先知道字符串的长度.另一方面,<<
看起来不错,可以用于许多类型,如数字.你可以写cout << 5;
,但不是cout.write(5)
.
归档时间: |
|
查看次数: |
11380 次 |
最近记录: |