逐行读取文件并将其存储为整数变量C++
Reading a file line by line and storing as an integer variable 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
}
}
如果您知道文件中数据的顺序是固定的,并且计数总是3,您可以尝试:
getline(config_file,fu_unit_adder);
getline(config_file,fu_unit_mult);
getline(config_file,fu_unit_div);
只为3个变量添加一个循环是没有用的。3句话就可以了(如果是这样的话(。
config_file.seekg(0,config_file.beg);
config_file >> fu_unit_adder;
config_file >> fu_unit_mult;
config_file >> fu_unit_div;
这应该适用于读取前三个变量。
相关文章:
- enum是C++中的宏变量还是整数变量
- 对已具有设定值的整数变量的加法
- 如何使用C++将字符串中的字符转换为整数变量
- 如果用户输入在整数变量中浮动怎么办?
- 在c++中读取文件时,它如何自动将字符放入字符数组,将数字放入整数变量
- C++:这是使用整数变量作为函数调用指针的正确方法吗
- C++ 两个线程,共享几个整数变量
- 常量整数变量和数字的不同类型推导
- 错误:调用'begin(long double [nPoints])'没有匹配函数;使用硬编码的 int 与整数变量初始化向量
- 整数变量的值在传递给 c++ 中的函数后发生变化
- 整数变量与整数字面变化的乘法结果
- 在 C++ 中,当我声明一个整数变量 int a = 200L 或 int a = 200F 或 int a = 200
- 当我使用我的向量名称后跟包含整数变量的括号时,括号是什么意思
- 如何有效地检测4个整数变量中的对称性
- Gecode:使用浮点值限制整数变量
- 将 std::sort 与指向整数变量的指针一起使用会产生意外的输出
- 在 c++ 中,浮点变量除以整数变量时的结果类型
- C++将一组整数变量映射到值的有效方法
- 检查是否在整数变量中设置了标志
- 类型转换问题:字符数组的元素转换为整数变量