C++将文件读取到向量中
C++ reading files into vectors
>我正在尝试从文件中读取值以C++向量。该文件如下所示:
file f1.txt:
1.,2.
3.,4.
5.,6.
7.,8.
9.,10.
我有 python 3 中的代码来读取文件并将值存储在列表中。
def main():
vec1=[]
vec2=[]
with open('f1.txt','r') as f1:
for line1 in f1:
a=(line1.strip()).split(sep=',')
vec1.append(float(a[0]))
vec2.append(float(a[1]))
print('First vercor : {0} nSecond vector: {1}'.format(vec1,vec2))
#
if __name__=='__main__':
main()
输出:
First vercor : [1.0, 3.0, 5.0, 7.0, 9.0]
Second vector: [2.0, 4.0, 6.0, 8.0, 10.0]
我想在C++中导入vec1,vec2
或创建C++代码来实现相同的目的。导入选项很复杂。我看了几个C++的例子,但无法像python代码那样有效(简短而简单)。有人可以提出一种在C++中实现这一目标的方法——尤其是拆分字符串并将第一部分放入一个向量中,将第二部分放入另一个向量中?
编辑:
我在问题中明确提到,我正在寻找C++简短的方法,它将:
- 提示读取行以删除任何前导和尾随字符,包括结束行 Python
strip()
这样做。我看了一下修剪std::string的最佳方法是什么?,剥离的C++代码将比整个python程序大。 - 拆分生成的字符串并将它们作为浮点数放入两个向量中。
其他答案,如如何读取和解析C++中的 CSV 文件?没有解决这些要点。
float a, b;
char comma;
vector<float> vec1, vec2;
ifstream in("f1.txt");
while (in >> a >> comma >> b)
{
vec1.push_back(a);
vec2.push_back(b);
}
未经测试的代码,没有错误处理。
相关文章:
- C++:如何读取分离变量,然后读取向量
- C++读取行到类向量
- 如何从文件中读取两个字符串和数字数组,并将它们存储在对象向量中
- 从流到邻接列表的向量读取图形
- 尝试将字符串从文件读取到无符号字符向量中
- 如何在 c++ 中从字符串向量中读取
- 将结构向量保存到文件中,并从C++文件中读取结构向量
- C++,从文件读取到结构,然后读取到向量(结构被推入向量太多次,而不仅仅是一次)
- 从.txt文件读取到C++中的双精度向量
- 用rapidjson读取子对象向量
- 对唯一 ptr 无效读取的引用向量
- 如何从输入文件中读取字符并将其存储到向量中?
- 如何使用 cin 将整数从控制台读取到向量中
- 通过将文本文件读取为字符串/向量来计算加权/未加权 GPA
- 以C++为单位将已知数量的整数输入正确读取到向量中
- C 从文件到向量读取
- 使用向量读取输入文件
- 在 TheADS 中的向量读取之间插入元素
- 从向量读取并分配给对象的成员
- 从保留的向量读取比从非保留向量读取更快