cout与c ++之间的差异

Pou*_*ami 5 c++

我仍然对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成员函数.


Fer*_*yer 6

你问的是一个类成员函数和一个实例有什么区别? cout 一个ostream具有一个write()方法.

至于cout << "Some string"和之间的区别cout.write("Some string", 11):它确实相同,<<可能会稍微慢一些因为write()它可以优化,因为它事先知道字符串的长度.另一方面,<<看起来不错,可以用于许多类型,如数字.你可以写cout << 5;,但不是cout.write(5).