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()
{
}