我需要一些帮助读取从文本文件到数组的空格分隔int。这里是一个文本文件的例子:“69 2 189 1876”。已知整数的数量(在本例中为4)。我尝试了谷歌搜索,但还没有找到一个令人满意的解决方案。这是我第一次做文件I/O,所以请在我身上轻松一下。感谢提前:)从文本文件读取空格分隔的数字到一个整数(C++)
回答
这里显示的一种可能的方法:
const size_t N = 4;
int a[N] = {};
std::ifstream in("YourTextFile");
size_t n = 0;
while (n < N && in >> a[n]) ++n;
如果未知道的,而不是你可以使用标准类的std ::矢量阵列读取值的数量。例如
对于std::ifstream in("YourTextFile");
std::vector<int> v;
int num;
while (in >> num) v.push_back(num);
你可以保留一些初始内存为载体,如果你是表明该文件包含在向量元素保留至少数。如果你想刚才读的第一N个1,使用std::copy_n
代替std::copy
#include <algorithm>
#include <fstream>
#include <iterator>
#include <vector>
std::vector<int> array;
std::ifstream stream("filename");
std::copy(std::istream_iterator<int>(stream),
std::istream_iterator<int>(),
std::back_inserter(array));
:例如
v.reserve(4);
我想将它们存储在一个不是矢量的数组中 – user3789296 2014-12-13 12:00:52
@ user3789296在我的文章中写了如何在数据数量已知的情况下将数据存储在数组中。 – 2014-12-13 12:18:32
只需使用std::copy
。
Vector!=数组 – user3789296 2014-12-13 12:00:19
@ user3789296一个向量肯定是[数组](http://en.wikipedia.org/wiki/Array_data_structure)。如果你不想因为某种原因使用'std :: vector',并且你知道前面的大小,你可以使用'std :: array'并传递它的开始迭代器而不是'std:back_inserter(array)'。 – rightfold 2014-12-13 12:03:29
- 1. 从文本文件中读取数字并分隔空格
- 2. 从文件中读取空格分隔的数字
- 3. C# - 如何解析文本文件(空格分隔的数字)?
- 4. 从空间分隔的java文件读取整数
- 5. 从C中的文本文件读取空格分隔的浮点值C
- 6. 从空格分隔的值中读取一个字符数组
- 7. 从文件中读取空格分隔的数字直到换行符
- 8. 从C中的文件中读取逗号分隔的数字
- 9. 读取文本文件包含由空格隔开随机大小的整数
- 10. 将逗号分隔的文件读取到整数数组中
- 11. C++从一个文件(包含空格)逐行读取数据
- 12. 阅读空格分隔的整数
- 13. 如何阅读整个文件中的数字以{,,}格式在C中分隔?
- 14. 如何读取由空间分隔的空格从一个文件中的PHP
- 15. 从文本文件读取矩阵到2D整数阵列C++
- 16. 如何读取C中制表符分隔整数的文本文件?
- 17. Java:从一个文件读取整数到一个数组
- 18. 从文件读取一个整数
- 19. 从逗号分隔的文本文件中读取数组
- 20. 从空格分隔的文本文件创建一个PHP数组
- 21. 在Golang中读取一组由空格分隔的整数
- 22. C - 从文件中读取整数和字符到数组
- 23. 读取包含浮动的C文本文件,用空格分隔
- 24. 使用空格分隔符将文件读入C数组
- 25. 读分隔从文本文件数据到不同的RDDS
- 26. 从文本文件读取一个数组数组到C中的数组
- 27. 如何从冒号(:)读取C#中的分隔文本文件
- 28. 从文本文件中读取数据并分隔
- 29. 从文本文件的某一行读取一个数字
- 30. 空格分隔整数到数组
你尝试过什么吗?你能够至少打开文件,并获得一些数字(作为instacce字符串)? – 2014-12-13 09:57:38
你需要展示一个尝试,然后人们会很乐意告诉你你犯了什么错误,以及如何改进。你知道如何读取一个'int',并将其打印出来吗?你知道'std :: Vector'吗? – BoBTFish 2014-12-13 09:57:59