首页 > 解决方案 > 从 .txt 文件中整理出 int 变量(fstream、c++)

问题描述

我有一个 .txt 文件,此行位于顶部'12 4 25 257',每个数字之间用 a 隔开,' '行以'\n'

我有这些变量和一个函数getFirstLine

int A;
int B;
int C;
int D;
ifstream File("a.txt");
void getFirstLine(int &A, int &B, int &C, int &D)
{
 int list[] = {A, B, C, D};
    string myText;
    getline(File, myText);
    int size = myText.size();
    cout << size;
    for (int i = 0; i < size; i++)
    {
        if (myText[i] != ' ')
        {
            list[i] = (int)myText[i] - 48;
            cout << list[i] << endl;
        }
    }
}

我想基本上将第一个数字保存在 A 上,第二个保存在 B 上,第三个 C 等等...

可悲的是,我似乎无法正常工作:(有人可以帮我吗?

输出应如下所示:

A = 12,
B = 4,
C = 25,
D = 257,

标签: c++filec++11fstreamifstream

解决方案


也许是这样的?

std::string line;
std::getline(file, line);
line = line.substr(1, line.length() - 2);
std::istringstream iss(line);
iss >> A >> B >> C >> D;

推荐阅读