gpt4 book ai didi

c++ - 如何打印元组 vector ?

转载 作者:太空狗 更新时间:2023-10-29 22:56:31 29 4
gpt4 key购买 nike

因此,我正在尝试创建一个 vector ,其中包含包含两个整数的元组,并且我正在从文本文件源中获取整数。为了确保我有我想要的 vector ,我尝试打印出我的内容,但输出没有显示任何内容。我不确定是不是因为我的代码,以及我放置文本文件的位置。我只是停留在这一点上。如果有什么可以帮助我解决这个问题,我将不胜感激。谢谢

using namespace std;


int main()
{
ifstream file("source.txt");
typedef vector<tuple<int, int>> streets;
streets t;
int a, b;

if (file.is_open())
{
while (((file >> a).ignore() >> b).ignore())
{
t.push_back(tuple<int, int>(a, b));
for (streets::const_iterator i = t.begin();i != t.end();++i)
{
cout << get<0>(*i) << endl;
cout << get<1>(*i) << endl;
}
cout << get<0>(t[0]) << endl;
cout << get<1>(t[1]) << endl;
}
}

file.close();

system("pause");
return 0;

这是我的文本文件以及我放置它的位置 enter image description here

Here's my output from debugging, if that's important

最佳答案

你应该使用一个循环,一次打印一个元组。

完整的最小示例:

#include <iostream>
#include <tuple>
#include <vector>
#include <fstream>
using namespace std;

int main(void) {
std::ifstream infile("source.txt");
vector<tuple<int, int>> streets;
int a, b;
while (infile >> a >> b)
{
streets.push_back(tuple<int, int>(a, b));
}
infile.close();
for(auto& tuple: streets) {
cout << get<0>(tuple) << " " << get<1>(tuple) << endl;
}
return 0;
}

输出:

1 2
3 4
5 6
7 8

关于c++ - 如何打印元组 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47718376/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com