C++注意的小细节(一)文件开发方式冲突与转换构造函数

    技术2024-07-28  68

    1、fstream 打开方式中,ios::app 和 ios::trunc 不能并存。

     

    错误代码如下:

     

    fstream *output; output=new fstream; output->open("b.txt",ios::app|ios::out|ios::trunc,0); char a[]="123456789/n"; output->write(a,strlen(a)); 

     

    正确代码如下:

     

    #include <iostream> #include <fstream> #include <string> #include <cstring> #include <cassert> using namespace std; int main() { fstream *output; output=new fstream; output->open("G://b.txt",ios::app | ios::out); if (output->is_open() == false) assert(NULL); char a[]="123456789/n"; output->write(a,strlen(a)); output->close(); delete output; return 0; }  

     

    2、可以让cin作为while循环的条件。

     

    while(cin>>n_cool>>n_books) { ... } 

     

    原因是,cin重载了bool运算符。

     

    operator bool() { } 

    最新回复(0)