我发现在c ++中使用流而不是像ReadFile,WriteFile等甚至fprintf这样的windows函数都非常容易.什么时候使用溪流不好?什么时候使用溪流好?使用流是否安全?为什么许多程序员不使用流?
这只是我一直想知道的事情,也许你可以放下一些智慧.
Jer*_*fin 11
流通常非常安全.在某些情况下,它们可能很慢和/或笨拙.缓慢,主要是因为它们在您的代码和操作系统之间施加了一些额外的层,并且在错误的情况下这些层会增加开销.笨拙主要是与C的printf相比,而不是直接使用像WriteFile这样的东西(根本不直接支持格式化).但是,请考虑:
printf("%2.2x", ch);`
Run Code Online (Sandbox Code Playgroud)
至
std::cout << std::hex << std::setw(2) << std::setprecision(2) << std::setfill('0') << ch;
std::cout << setfill(' ');
Run Code Online (Sandbox Code Playgroud)
然后考虑这样一个事实:如果你关心i18n,那么printf使用一个易于从外部源读入的字符串,其中C++流将所有格式嵌入到代码结构中,因此几乎任何格式更改都需要重写代码,重新编译和重新链接.
CreateFile, ReadFile等等,也允许内存映射文件和iostreams不支持的重叠读写等多种内容.如果这种情况让你充分利用这些,那么iostream往往不具备竞争力.
luk*_*uke 10
什么时候使用溪流不好?
什么时候使用溪流好?
一般来说.
使用流是否安全?
是的,但是在异步共享流时你必须要小心.
为什么许多程序员不使用流?
首选,风格或他们首先学习不同的方法(或不同的语言).我发现很多旧的"c ++"在线例子都是用C语言编写的,更喜欢printf到cout.
| 归档时间: |
|
| 查看次数: |
1685 次 |
| 最近记录: |