Как вставить данные в массивы из файла .txt c ++

Я хотел бы знать, если это возможно, и если да, как вставить данные из файла .txt с 3 столбцами в соответствующее расположение, например, я хочу сохранить данные в столбце 1 в расположении 1, данные в Столбец 2 в Соглашении 2 и данные в Столбце 3 в Соглашении 3, если вы можете дать мне какие-либо подсказки, я был бы очень признателен.

Пример того, как данные структурированы в файле .txt для исправлений в начале кода.

Буду признателен, если вы поможете мне с некоторыми советами или подсказками, спасибо.

 /*
Array 1  Array 2  Array 3
7441781 7860172 -7325677
-3991040 2767400 -5089157
9266561 9256845 -8274370
*/  

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


int numeros1[]={12,12,12}; //aqui deberian ir los numeros del txt en la primera columna
int numeros2[]={12,12,12}; //aqui deberian ir los numeros del txt en la segunda columna
int numeros3[]={12,12,12}; //aqui deberian ir los numeros del txt en la tercera columna
int num1,num2;
string texto;

void lectura();

int main(){
    lectura();

    return 0;
}
void lectura(){
    ifstream archivo;

    archivo.open("Arreglo1.txt",ios::in);  //abriendo archivo donde se encuentran los datos

    if(archivo.fail()){

        cout<<"no se pudo abrir el archivo";
        exit(1);
    }

    while(!archivo.eof()){
        getline(archivo,texto);    //añadiendo los datos del documento a una variable llamada texto
        cout<<texto<<endl;
    }
    archivo.close();


}
2
задан 28.11.2019, 16:59
1 ответ

Если у твоего файла будет всегда та же структура, ты можешь читать данные последовательно:

std::vector<int> numeros1, numeros2, numeros3;

for (std::ifstream o{"Arreglo1.txt"}; o;)
{
    int numero;

    if (o >> numero)
        numeros1.push_back(numero);
    if (o >> numero)
        numeros2.push_back(numero);
    if (o >> numero)
        numeros3.push_back(numero);
}

ты Можешь видеть cГіdigo функционируя в Wandbox .

3
ответ дан 01.12.2019, 10:41