0x6efcc4 txt 文件中的输出
0x6efcc4 output in the txt file
我是一个新奇的学生。我必须编写一个控制台程序,该程序从用户那里获取一个数字的输入(将来将是一个数组,但现在没关系(,将其保存在 txt 文件中,当您关闭程序并重新启动它时,它会将您之前保存在 txt 文件中的数字加载到另一个变量中(再次, 将来它将是一个数组(。想象一下,它就像图书馆员用来保存有关其存储的书籍的所有数据的软件。我想过做两个变量,一个是ifstream,另一个是ofstream,都引用同一个txt文件,这样我就可以在同一个文件上读写,而不需要外部文件。我知道你也可以将 fstream 与 :in 和 :out(类似这样(一起使用,但我读到你必须重置程序开始读取的点,我相信它对我的程序来说太复杂了,目前没有必要。到目前为止,我尝试输入一个数字并检查它是否被保存,但0x6efcc4是我得到的唯一输出,要么我输入"0"、"143"、"狗"......无论什么(输入是可变字符串类型(,我都不知道为什么。我将发布两个屏幕,包括我正在使用的代码和 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只在第一行写入一次
那么为什么你输入到input[1]
而输出input
呢?这就是您错误的原因,请尝试此操作saving << input[1];
您在输出文件中看到的是input
数组的地址,而您想要的是input
数组的内容。
此外,我强烈建议不要同时打开文件进行输入和输出。当您需要阅读某些内容时,打开它以供输入,并在完成后关闭它。同样,当您想写一些东西时打开它进行输出,并在完成后再次关闭它。
你应该在语句cin >> input
再次查看你的代码。
您的代码定义了用户在数组元素 2 中输入的内容[1]
。
如果您使用以下方法,则可以摆脱错误:
cin >> input[1];
但是空格后的所有文本都将被省略。因此,更好地使用:
std::getline(std::cin, input[1]);
- 有没有办法简单地从 GPU 调用多个 cpp 输出文件?
- VI工作室代码错误无法打开输出文件主.exe
- 在代码块中查找输出文件
- 将未签名的字符写入输出文件
- 为什么我的代码不写入输出文件?
- 完成搜索任务时为空输出文件
- 如何将地图<列表<string>、矢量<string>>输出到输出文件?
- 无法在代码块 IDE 中打开输出文件.exe
- C++:更改 IF 语句中的输出文件
- 编译 gsoap 输出文件 (onvif) 时出现问题
- C++击球平均值程序使用输入/输出文件打印名称,平均值,最高/最低平均值时遇到麻烦
- while 循环中的流输出文件() 通常生成空文件
- 如何使用 Docker 访问输出文件
- 提升进程间共享内存删除、权限和输出文件
- 查找素数,然后将质数放入输出文件中
- GDB / C++ - 根据循环条件将多个变量记录到输出文件中
- 带有文件结束函数的 while 循环重复输出文件中的最后一个数字两次
- 我的输出文件未显示解决方案
- 输入文件中的第一个字符是输出文件中的最后一个字符,反之亦然
- C++,我正在尝试创建一个有效的.bmp输出文件