gpt4 book ai didi

c++ - 无法成功生成 std​​::set 输出到文件和控制台

转载 作者:行者123 更新时间:2023-11-30 02:32:12 24 4
gpt4 key购买 nike

我正在尝试从文件中读取整数列表并将它们存储到 std::set 容器中,然后将整数输出到控制台,然后生成输出文件。我曾尝试这样做但未能成功。如果我在我的程序中使用 .erase(),那么我可以在控制台上看到输出和一个没有文本的空文件。如果我不使用 .erase() 那么我有无限循环的运行时错误。 `

#include <iostream>
#include <set>
#include <fstream>
#include <iterator>
using namespace std;

int main()
{

set<int> myset;

fstream textfile;
textfile.open("input.txt"); // opening the file

// reading input from file
while (!textfile.eof())
{
int iTmp = 0;
textfile >> iTmp;
myset.insert(iTmp);


}

// output to the console
set<int>::iterator iter = myset.begin();
while (!myset.empty())
{
cout << *myset.begin() << " ";
myset.erase(myset.begin());
}

// writting output to the file

ofstream out_data("Ahmad.txt");

while (!myset.empty())
{
out_data << *myset.begin() << " ";
}



system("pause");
}`

最佳答案

#include <iostream>
#include <iterator>
#include <set>
using namespace std;

int main() {
using data_type = int;
set<data_type> data_set;

//change cin to your ifstream
copy(istream_iterator<data_type>(cin),
istream_iterator<data_type>(),
inserter(data_set, end(data_set)));

//change cout to your ofstream
copy(begin(data_set), end(data_set), ostream_iterator<data_type>(cout, " "));

return 0;
}

示例:http://ideone.com/1Cil1C

关于c++ - 无法成功生成 std​​::set 输出到文件和控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36713763/

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