我正在编写一个代码来将 int 数组存储在文件中,然后用 c++ 检索它,但是检索第一项是假值,我该如何解决这个问题?
I am writing a code to store an int array in a file and then retrieve it in c++, but on retrieving the first item is bogus value, how do i fix this?
我正在尝试将整数数组存储在c ++的文件中。 代码是
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main() {
int arr[5];
for (int i = 0; i < 5; i++) {
arr[i] = i;
cout << arr[i];
}
cout << endl;
ofstream out;
out.open("arr.txt");
for (int i = 0; i < 5; i++) {
out << arr[i];
}
out.close();
ifstream in;
in.open("arr.txt");
for (int i = 0; i < 5; i++) {
in>>arr[i];
}
in.close();
for (int i = 0; i < 5; i++) {
cout << i << " " << arr[i] << endl;
}
cout << arr[0] << endl;
return 0;
}
现在我得到的输出是
01234
1234
1
2
3
4
第一个索引中的零在哪里?
当你写入数据时,你需要在数字之间放置空格
for (int i = 0; i < 5; i++) {
out << arr[i] << ' ';
}
否则,它们将一次作为单个int
读入。
您忘记在输出中添加空格。 当你这样做时
for (int i = 0; i < 5; i++) {
out << arr[i];
}
arr
包含{0,1,2,3,4}
因此您可以01234
写入文件,并在
for (int i = 0; i < 5; i++) {
in>>arr[i];
}
整个01234
作为值1234
的单个整数进行读取,而不是将每个数字作为单独的数字读取。 将输出循环更改为
for (int i = 0; i < 5; i++) {
out << arr[i] << " ";
}
将使文件具有0 1 2 3 4
,然后这些将作为单独的整数读取。
相关文章:
- 如何在 QTreeWidget 中检索特定项目的 mimeData?
- std::ifstream 在读取文件中最后一项时设置 eofbit,但仅在读取数值类型时发生
- 访问类成员向量最后一项的正确方法
- 我正在尝试解决英特尔架构并行基础课程中关于 Coursera 的一项作业
- 从函数参数包中删除最后一项
- 以不同的方式替换每一项,regex c++
- 我正在编写一个代码来将 int 数组存储在文件中,然后用 c++ 检索它,但是检索第一项是假值,我该如何解决这个问题?
- 使用 fstream 在空格分隔文件中查看下一项(不仅仅是一个字符)的方法
- 在 QSet 中插入元素<QString>并检索 ,删除 QSet 的最后一项
- ClCompile项目也是一项任务
- 等待所有线程完成一项工作,然后执行另一项工作
- Xapian - 搜索查询不检索匹配项,除非将""添加到每个单词
- 链接列表中最后一项之后的项目是否为0
- C++ 迭代一项 - UB 或定义的行为
- C++:映射,键的上一项
- 从输入迭代器获取最后一项
- 填充 c++ 数组时遇到问题,每个索引处只有最后一项
- 如何使QML容器中的最后一项填充剩余空间
- 用于查找小于或等于的最后一项的函数,如lower_bound
- 在编程中,这两项任务中的任何一项都有算法方法吗