将.txt值推入vector
Pushing .txt values into vector
我一直在试图找出如何把东西从。txt推到矢量,我还没有完全成功,所以我偏离了我的任务,创建了一个简单的代码来学习它。
我试着在这里找到一个类似的帖子,但我不能,所以这里是我的代码:
文本文件中的内容:
32 34 5 6 243 2341 234 213 24 123 12354 124 432 12
这是代码:
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
int main () {
vector <int> numbers;
int val;
int newval = 50;
ifstream file ("text.txt");
if ( file.is_open())
{
for ( int i = 0; i < newval ; i++)
{
numbers.push_back(val);
}
}else{
cout << "unable to open file."<<endl;
}
for ( int i = 0; i < numbers.size(); i++){
cout << numbers[i] << endl;
}
return 0;
}
代码所做的是打印50个零。我不确定我做错了什么,任何见解将是非常感激的!谢谢你!
p。S -在最初的for循环中我要做的是:
for ( int i = 0; i < numbers.size() ; i++)
{
numbers.push_back(val);
}
但这对我来说没有任何意义,因为向量最初是空的。如果那是我该做的,请解释一下。谢谢。
除非我瞎了,否则你永远不会给val
赋值。
如果是这种情况,您将得到0,因为这是int
s的默认值。
要解决这个问题,您需要在将val
添加到numbers
之前实际分配一个读值。还要注意,它很可能被读为string
,所以你必须在将其赋值给val
之前将其转换为int
;但这是它自己的问题。
所以,在我得到社区成员(carcigenicate和twalberg)的帮助后,我已经解决了代码的所有问题,我把它贴在下面,以帮助其他有这种问题的人。
原始文本文件:
32 34 5 6 243 2341 234 213 24 123 12354 124 432 12
代码如下:
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
int main () {
vector <int> numbers;
int val=0;
ifstream file ("text.txt");
if ( file.is_open())
{
while (! file.eof())
{
while (file >> val){
numbers.push_back(val);
}
}
}else{
cout << "unable to open file."<<endl;
}
for ( int i = 0; i < numbers.size(); i++){
cout << numbers[i] << endl;
}
file.close();
return 0;
}
输出内容:
32
34
5
6
243
2341
234
213
24
123
12354
124
432
12
感谢社区!
相关文章:
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 在c++中用vector填充一个简单的动态数组
- vector.resize()中的分配错误
- 使用std::vector的OpenCL矩阵乘法
- POCO::PostgreSQL:如何将std::vector支持添加到`Binder::bind`
- 在某些循环内使用vector.push_back时出现分段错误
- 当vector是tje全局变量时,c++中vector的内存管理
- 如何将 txt 文件中的行分隔为组件C++
- std::vector的包装器,使数组的结构看起来像结构的数组
- 在CMakeLists.txt的安装功能中使用.cmake文件有什么用
- 为什么(-1)%vector::size()总是返回0
- 一种在C++中读取TXT配置文件的简单方法
- 如何修复此iFile以将.txt输出到控制台
- 在C++中将类(带有Vector成员)保存为二进制文件
- 将数据保存在std :: vector或.txt文件中的速度更快
- 将带有图像值的文本(txt)文件读取到Vector中
- 从.txt文件读取整型数到vector
- Vector只从.txt文件c++中读取一行
- 从.txt读取int,将其保存到vector,然后保存到输出文件
- 将.txt值推入vector