ofstream fout("book.txt");什么意思
时间: 2024-06-05 18:12:56 浏览: 12
这行代码使用了 C++ 中的 ofstream 类来创建了一个名为 "book.txt" 的输出文件流对象 fout。这个对象被用来向 "book.txt" 文件中写入数据。如果 "book.txt" 文件不存在,那么这个代码会创建一个新的文件;如果文件已经存在,那么这个代码会清空文件中的内容,然后再写入数据。
相关问题
void Record(string put,Book &bookk,int num=0) { ofstream fout(File,ios::app); fout<<put<<" "<<bookk.get_title()<<" "<<bookk.get_author()<<" "<<bookk.get_publisher() <<" "<<bookk.get_page()<<" "<<bookk.get_stock()<<" "<<bookk.get_price()<<" "; if(put=="入库") { fout<<num<<endl; } else { fout<<"-"<<num<<endl; } fout.close(); }
这段代码看起来是一个C++函数,函数名为Record,接受三个参数:put、bookk和num。其中put和num是字符串类型,bookk是一个类型为Book的对象的引用,表示要记录的书籍信息。函数的功能是将书籍信息写入一个文件中,包括书籍的标题、作者、出版社、页数、库存量和价格等信息,以及入库或出库的数量(如果是入库则记录正数,如果是出库则记录负数)。这个函数在每次调用时都会在文件末尾添加新的记录。
string ReadDate::path="importent.txt"; int ReadDate::rowNum=10; ReadDate::ReadDate(){ ofstream fout; ifstream fin; fstream f; f.open(path,ios_base::in); if(!f){ cout<<"打开文件失败"; fout.open(path); fout<<"|ISBN|name|author|publisher|price|stock|\n"; } fin.open(path,ios_base::in); char str[100]; rowNum=0; while(fin.getline(str,sizeof(str))){//sizeof()获取数组长度 getline()从文件中读取一行字符串到数组str里 //读入带有空格的字符串 rowNum++;//统计行数 } f.close();//关闭文件流 fout.close();//关闭输出流 fin.close(); void ReadDate::readName(vector<Book> &theBookList){//构造函数 ifstream fin;//定义一个输入流 ifstream fin1;//输入流 ofstream fout;//输出流 fin.open(path,ios_base::in);//以读的方式打开 char str[100]; fout.open("importent1.txt",ios_base::out);//以写的方式打开importent1 while(fin.getline(str,sizeof(str))){ bool got=true;//是否找到标记 int keyNum=0; for(int i=0;i<sizeof(str);i++){//遍历字符串 do{ if(str[i]=='|') { keyNum++;//统计键值 i++; } else i++; }while(keyNum<2);//找到第二个的时候结束循环 //进行数据的转移 while(got){// if(str[i]!='|'){ fout<<str[i]; //将字符写入文件 i++; } else{ got=false; } } } fout<<"\n";//写入时换行 }如果这段代码中path和rowNum不用static方法,怎么访问
如果将path和rowNum不用static方法,就需要创建一个ReadDate类的对象才能够访问这两个成员变量。例如:
```
ReadDate rd; // 创建一个ReadDate对象
string path = rd.path; // 访问path成员变量
int rowNum = rd.rowNum; // 访问rowNum成员变量
```
同样地,如果要调用readName函数,也需要创建一个ReadDate对象,并通过该对象来调用函数:
```
ReadDate rd; // 创建一个ReadDate对象
vector<Book> theBookList;
rd.readName(theBookList); // 调用readName函数
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)