How to read numbers from text file into a vector in C++

1 Answer

0 votes
#include <iostream>
#include <fstream>
#include <vector>
#include <string>

using std::cout;
using std::endl;
using std::string;
using std::vector;

void readFile(const string &fileName, vector<int>& vec)
{
	std::ifstream ifs;

	ifs.open(fileName.c_str());
	if (ifs.fail()) {
		throw "file error";
	}

	int n;
	while (ifs >> n) {
		vec.push_back(n);
	}

	if (ifs.eof()) {
		ifs.close();
	}
	else {
		ifs.close();
		throw "read file error";
	}
}

int main()
{
	vector<int> vec;

	try
	{
		readFile("d:\\data.txt", vec);

		for (size_t i = 0; i < vec.size(); i++) {
			std::cerr << vec[i] << " ";
		}
		cout << endl;
	}
	catch (char *s) {
		cout << s << endl;
	}

	return (0);
}


/*
run:

12 13 65 98 1001

*/

 



answered Jun 4, 2018 by avibootz

Related questions

1 answer 153 views
1 answer 177 views
1 answer 159 views
1 answer 327 views
1 answer 245 views
1 answer 258 views
1 answer 249 views
...