0

我需要编码以从文件中读取并存储在不同的数组中!!!

例如:

保罗 23 54

约翰 32 56

我的要求如下:我需要存储paul,john在字符串数组和23,32一个整数数组中;同样54,56在另一个int数组中。

我从文件中读取输入并打印它,但我无法保存在 3 个不同的数组中。

int main()
{
    string name;
    int score;
    ifstream inFile ;
     
    inFile.open("try.txt");
    while(getline(inFile,name))
    {
        cout<<name<<endl;
    }
    inFile.close();     
    
}

所以请建议我这样做的一些逻辑,我真的很感激......!

4

2 回答 2

0

我假设您是编程新手?还是 C++ 新手?因此,我提供了示例代码来帮助您入门。:)

#include <string>;
#include <iostream>
#include <vector>
using namespace std;

int main() {
    vector<string> name;
    vector<int> veca, vecb;
    string n;
    int a, b;

    ifstream fin("try.txt");
    while (fin >> n >> a >> b) {
       name.push_back(n);
       veca.push_back(a);
       vecb.push_back(b);
       cout << n << ' ' << a << ' ' << b << endl;
    }
    fin.close()

    return 0;
}
于 2013-09-24T01:48:56.100 回答
0

您可以尝试以下代码:

#include <string>
#include <vector>

#include <iostream>
#include <fstream>

int main()
{
    std::string fileToRead = "file.log";
    std::vector<int> column2, column3;
    std::vector<std::string> names;
    int number1, number2;
    std::string strName;

    std::fstream fileStream(fileToRead, std::ios::in);
    while (fileStream>> strName >> number1 >> number2)
    {
       names.push_back(strName);
       column2.push_back(number1);
       column3.push_back(number2);
       std::cout << "Value1=" << strName
           << "; Value2=" << number1
           << "; value2=" << number2
           << std::endl;
    }
    fileStream.close();
    return 0;
}

想法是将文件中的第一列读取为字符串(strName),然后将其推送到向量(名称)。类似地,第二列和第三列首先被读入 number1 和 number2,然后分别推入名为 column1 和 column2 的向量中。

运行它会得到以下结果:

Value1=paul; Value2=23; value2=54
Value1=john; Value2=32; value2=56
于 2013-09-24T02:29:27.253 回答