cout和用c++编写之间的区别

difference between cout and write in c++

本文关键字:之间 区别 和用 c++ cout      更新时间:2023-10-16

我仍然对ostream&在c++中写入(const char*s,streamsize n(,在c中写入cout++第一个函数将s指向的数据块(大小为n个字符(写入输出缓冲区。字符按顺序写入,直到写入n为止。而cout是表示标准输出流的ostream类的对象。它对应于cstio流stdout。有人能清楚地指出这两种功能之间的区别吗。

ostream& write ( const char* s , streamsize n );

是一个未格式化的输出函数,写入的内容不一定是c-string,因此在数组s中找到的任何空字符都会复制到目标,并且不会结束写入过程。

cout是ostream类的对象,表示标准输出流
它可以使用插入运算符ostream::operator<<将字符写入格式化数据,也可以使用write成员函数将字符写入未格式化数据

您在问类成员函数和类的实例之间有什么区别?coutostream具有write()方法。

至于cout << "Some string"cout.write("Some string", 11)之间的区别:同样,<<可能慢一点,因为write()可以进行优化,因为它事先知道字符串的长度。另一方面,<<看起来不错,可以与许多类型一起使用,例如数字。您可以编写cout << 5;,但不能编写cout.write(5)

cout不是一个函数。就像你说的,它是一个类ostream的对象。作为该类的对象,它拥有写函数,可以这样调用:

cout.write(source,size);

"在二进制文件中,使用提取和插入运算符(<<和>>(以及getline等函数输入和输出数据是无效的,因为我们不需要格式化任何数据,并且数据可能不使用文本文件使用的分隔码来分隔元素(如空格、换行符等(。

文件流包括两个专门设计用于按顺序输入和输出二进制数据的成员函数:写入和读取。第一个(write(是由ofstream继承的ostream的成员函数。read是istream的一个成员函数,由ifstream继承。fstream类的对象同时具有两个成员。他们的原型是:

写入(memory_block,大小(;读取(memory_block,大小(;">

发件人:http://www.cplusplus.com/doc/tutorial/files/

没有函数ostream& write ( const char* s , streamsize n )。也许您指的是成员函数ostream& ostream::write ( const char* s , streamsize n )

.write()函数称为原始(或未格式化(输出。它只是将一系列字节输出到流中。

全局变量cout是类ofstream的一个实例,并且具有.write()方法。然而,cout通常用于格式的输出,例如:

string username = "Poulami";
cout << "Username: '" << username << "'." << endl;

许多不同的类型都有ostream& operator<<(ostream& stream, const UserDefinedType& data),可以对其进行重载以丰富ofstream的词汇。

天哪!粉碎一个问题的机会。

从你的问题来看,我觉得你是Java或Python程序员,绝对不是初学者。

您不知道C++可能是唯一一种允许程序员将基元内置运算符作为类成员和通用接口的一部分来实现的语言。

在Java中,你永远不会去

 class Money
 {
  int operator + (int cash) { return this.cash + cash; }
  void operator << () { System.out.println(cash); }
  int cash;
  }
  public class Main_
  {
   public static void Main(String [] args) 
   {
    Money cashOnHand;
    System << cashOnHand;
    }
    }

但是cpp允许这样做,效果非常好。类std::ostream实现流运算符,但也实现了一个执行原始二进制操作的常规写函数。

我同意Alok Save之前,我仔细研究了这个问题并仔细阅读了答案。

换句话说,coutostream的对象,但write只是提供的一个函数。因此,cout有两种方式可供编码器使用:一种是作为成员函数,另一种是由运算符(<<(使用。