c++ - 从 .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,
解决方案
也许是这样的?
std::string line;
std::getline(file, line);
line = line.substr(1, line.length() - 2);
std::istringstream iss(line);
iss >> A >> B >> C >> D;
推荐阅读
- bazel - 从 git_repository 规则获取 git 元数据
- python - Python Pandas 分组列
- python - 如何从对象中获取一条线?
- reactjs - 在 Bamboo 中集成 SonarQube 以实现 React js 应用程序
- python - 在 Python 中导入模块和函数时出现问题
- karate - 空手道是否能够验证下载端点的 Excel 文件?
- java-8 - 如何使用流将一维整数数组转换为映射
- c++ - 如何对 __uint128_t (128bit) 进行正向和反向位扫描?
- c - 在 C 中实现 pthread_self()
- python - 如何绘制超过 2 个权重的线?