【发布时间】:2020-05-17 14:02:32
【问题描述】:
我是一个新奇的学生。我必须编写一个控制台程序,该程序从用户输入一个数字(将来将是一个数组,但现在没关系),将它保存在一个 txt 文件中,当你关闭程序并重新启动它时,它将您之前保存在 txt 文件中的数字加载到另一个变量中(同样,将来它将成为一个数组)。想象一下,它就像一个图书馆员用来保存其所存储书籍的所有数据的软件。我想过制作两个变量,一个 ifstream 和另一个 ofstream,都引用同一个 txt 文件,这样我就可以在同一个文件上读写,而无需外部变量。我知道您也可以将 fstream 与 :in 和 :out 一起使用(类似这样),但我读到您必须重置程序开始读取的点,我相信这对我的程序来说太复杂和不必要了。到目前为止,我尝试输入一个数字并检查它是否被保存,但 0x6efcc4 是我得到的唯一输出,或者我输入“0”、“143”、“dog”......无论如何(输入是一个变量字符串类型),我不知道为什么。我将发布两个屏幕,包括我正在使用的代码和 txt 文件:
#include <iostream>
#include <fstream>
using namespace std;
const int DIN = 2;
int main()
{
ofstream saving("save.txt");
ifstream loading("save.txt");
string input[DIM];
if (! saving || !loading)
{
cout << "One of the files did not open correctly" << endl;
return -1;
}
else
{
cin >> input[1];
saving << input;
saving.close();
loading.close();
}
return 0;
}
实际上,我注意到我只能发布一张图片,或者我只是看不到发布更多图片的选项。 txt 文件实际上是一个空白 txt 文件,其名称与代码中的完全一样,在第一行中只写了一次 0x6efcc4
【问题讨论】:
-
请不要发布您的代码截图。而是发布代码。
-
请将代码作为问题的一部分。外部链接变得陈旧,图像不允许我们复制和粘贴代码来检查它。
标签: c++ console-application fstream ifstream