如何在C ++中从文本文件加载数组。
我无法从文件中获取所有数组元素。
这是我的代码:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main()
{
ifstream file("file.txt");
if(file.is_open())
string myArray[5];
}
答案 0 :(得分:0)
从文件中读取时,建议使用动态容器,例如std::vector
:
std::vector<int> database;
int number;
ifstream data_file("file.txt");
while (data_file >> number)
{
database.push_back(number);
}
无论数量如何,上述片段都会读取文件中的整数。
数组的问题是您需要在声明数组之前知道数量。
const size_t capacity = 16;
int array[capacity];
for (unsigned int i = 0; i < capacity; ++i)
{
data_file >> array[i];
};
上述片段假定文件中至少有16个数字。
答案 1 :(得分:0)
你将使计数器继续计数数据,直到你停止从文件中读取然后打开一个数组它的大小=这个计数器,然后打开新计数器说把fisrt数放在数组的第一个索引中这是代码
int i=0 , j=0 ;
ifstream file("statfile.txt") ;
while(file >> data) {i++ ;}
double arr[i];
file.close();
ifstream newfile("statfile.txt");
while(newfile >> arr[j]) {j++ ;}
for(j=0 ; j<i ; j++) {cout << arr[j] << " " ;}