#include<iostream> #include<fstream> using namespace std; void test01() { string BookName; string Writer; string Press; int Page = 0; int Cnt = 0; int Price = 0; ofstream ofs; ofs.open("测试文本1.txt", ios::out); cout << "请输入各项数据:"; ofs << "1 " << "2 " << "3 " << "4 " << "5 " << "6 "; } void test02() { ifstream ifs; ifs.open("测试文本1.txt", ios::in); while (!ifs.eof()) { string BookName; string Writer; string Press; int Page = 0; int Cnt = 0; int Price = 0; ifs >> BookName >> Writer >> Press >> Page >> Cnt >> Price; cout << BookName<<" "; cout << Writer << " "; cout << Press << " "; cout << Page << " "; cout << Cnt << " "; cout << Price << " "; }//将所有数据装入vector容器 } int main() { test01(); test02(); return 0; }为什么屏幕上输出会有3个0
时间: 2024-01-25 11:04:44 浏览: 72
根据代码,出现3个0的原因是在 `test01()` 函数中没有对 `Page`、`Cnt` 和 `Price` 进行赋值,而在 `ofs` 流中输出了它们的值。当在 `test02()` 函数中从文件中读取这些值时,由于没有输出它们的实际值,因此输出默认值 0。因此,你可以在 `test01()` 函数中添加代码,为这些变量赋上实际的值,例如:
```
BookName = "《C++ Primer》";
Writer = "Lippman, Lajoie, Moo";
Press = "人民邮电出版社";
Page = 1180;
Cnt = 10;
Price = 99;
```
这样就可以避免在 `test02()` 函数中输出默认值 0。
相关问题
#include <iostream> #include <fstream> #include <vector> #include <string> using namespace std; //
这是一段C++程序的头文件部分,包含了一些标准库的头文件,具体介绍如下:
1. iostream:提供了输入输出流的基本功能,如cin、cout等。
2. fstream:提供了文件操作相关的功能,如读写文件等。
3. vector:提供了可变大小数组的功能,可以方便地进行动态管理。
4. string:提供了字符串相关的功能,如字符串的拼接、截取等。
其中,using namespace std; 表示使用标准命名空间,可以简化程序中的代码。
阅读全文