使用插入(<<)运算符和 "write" 函数在 C++ 中显示数据有什么区别?

what is the difference in displaying data in c++ using insertion(<<) operator and "write" function?

我发现两者的输出相同

1-插入(<<)运算符

cout<<"ahmed";

2- 使用来自 class ostream

的对象 cout 的函数写入
cout.writr("ahmed" , 5);

但是不知道有没有什么我没意识到的隐藏差异

有人可以回答我吗?

提前致谢

1- 插入 (<<) 运算符将打印直到遇到 '\0'。

2- 使用来自 class ostream 的对象 cout 的函数 write 将打印足够的字符,即使它遇到 '\0' 或超出边界。

#include <iostream>
using namespace std;
int main()
{
    const char *str1="abc[=10=]def";
    const char *str2="ghi";
    cout<<str1<<endl;
    cout<<"------------\n";
    cout.write(str1,7);
    cout<<"\n------------\n";
    cout.write(str1,7+3);
}


result:
abc
------------
abcdef
------------
abcdefgh