Мой план состоит в том, чтобы сделать плоский файл в два столбца, и для этого я инициировал два векторных массива. Два векторных массива будут в двух столбцах плоского файла. Я думаю, что проблема, с которой я сталкиваюсь, заключается в том, чтобы заполнить векторные элементы в столбцах плоского файла. Я неправильно заполняю?
outFile << vec1[i] << "\t" << vec2[i] << endl;
#include <fstream>
#include <vector>
using namespace std;
//int main()
void ffile()
{
std::ofstream ofs;
ofstream outFile;
outFile.open("flatFile.dat");
vector<int> vec1{ 10, 20 };
vector<int> vec2{ 0, 20, 30 };
for (int i=0; i<=3;i++)
{
outFile << vec1[i] << "\t" << vec2[i] << endl;
}
}
Обновленный вопрос: у меня есть два вектора с разным размером вектора. Будут ли проблемы, если я буду использовать размер большого вектора, выполняющего код?
Другое дело, что в плоском файле я не вижу двух столбцов, вместо этого я вижу только один столбец и записи, исходящие из вектора vec2[i] . Как иметь обе записи в первом столбце для vec1 и во втором столбце для vec2?
i<5
вместо этого используйтеvec1.size()
- person Damien   schedule 27.11.2019for
повторяется 5 раз, но ваши векторы содержат только 3 элемента. Итак, когдаi
›=3, бум! - person acraig5075   schedule 27.11.2019vec1
иvec2
содержат только 3? - person Scheff's Cat   schedule 27.11.2019\t
может быть недостаточно. Посмотрите наstd::setw
- person Damien   schedule 27.11.2019