c++ - 逐行读取文件并存储为整数变量 C++

标签 c++

我是 C++ 的初学者。我正在尝试读取一个文件并想将其保存为一个整型变量。在我的文件里。

4
3
1

现在我希望变量具有以下值

fu_unit_adder=4                                                                         
fu_unit_mult=3
fu_unit_div=1

我该怎么办??

到目前为止我的代码:

#include <iostream>
#include <string>
#include <fstream>
#include <algorithm>
#include <cstdlib>
#include <stdio.h>

using namespace std;


int main()
{
    int  fu_unit_adder;
    int  fu_unit_mult;
    int  fu_unit_div;

    ifstream config_file ("config.txt");
    if (config_file.is_open())
    {
        for (int j = 0; j < 3; j++)
        {
            getline(config_file,fu_unit[j]);
            cout << fu_unit[j] << endl;
        }
    }
    system("pause");
    return 0;
}

最佳答案

如果您知道您的文件将采用该格式,您不妨使用 >>> 从文件中提取。你可以像这样简单地做到这一点:

ifstream config_file ("config.txt");
config_file >> fu_unit_adder >> fu_unit_mult >> fu_unit_div;

相反,如果您想要一个单元数组 fu_unit,您可以在某个时候扩展它,那么您可以这样做:

ifstream config_file ("config.txt");
int fu_unit[3];
for (int i = 0; i < 3; i++) {
  config_file >> fu_unit[i];
}

如果你想让它更健壮一点,你可以像这样检查提取是否成功:

ifstream config_file ("config.txt");
int fu_unit[3];
for (int i = 0; i < 3; i++) {
  if (!(config_file >> fu_unit[i])) {
    // Extraction i failed, make sure you do config_file.clear() to continue
  }
}

关于c++ - 逐行读取文件并存储为整数变量 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16252424/

相关文章:

C++:从类继承是否将其带入命名空间?

c++ - 内置类型有默认构造函数吗?

c++ - 需要一个堆分配指针,但我得到了一个堆栈分配指针

c++ - 我怎样才能摆脱 rand() 的警告? (C++)

c++ - C++ 中具有用户可扩展类型参数的类型化类

c++ - Char 数组和 uintptr_t

c++ - 带有 C++ 图形引擎的 Android NDK

c++ - 无法在屏幕上我想要的位置绘制我的矩形

c++ - 将 Q3DScatter 添加到现有的 QDialog 表单

c++ - 如何在 C++ 中构建一个 mongo $in 查询