首页 > 解决方案 > 如何从文件中读取用空格分隔的数字

问题描述

我有一个包含数字的文本文件,第一个数字是用不同数字系统编写的某个数字,然后是一个空格,然后是另一个数字 - 这是第一个数字写入的基数。例如:

1011011 2 
1212011 3 
1AB13 12 
etc...

我必须使用我已经拥有的函数将文件中的所有数字转换为十进制系统。它需要两个变量,第一个是用不同数字系统编写的数字,另一个是该系统的基数,然后将该数字转换为十进制并将其写入另一个文件。

如何从文件中读取数据,以便第一个数字进入第一个变量,而基数进入第二个变量?

标签: c++

解决方案


您可以将数字读取为字符串,然后将其基数读取为数字,通过std::ifstream::operator>>. 然后,您可以转换为基数 10。

#include <fstream>
#include <iostream>

std::ifstream ifs("test.txt");
std::string num;
int base;
while (ifs >> num >> base)
{
    std::cout << num << " in base " << base << "\n";
}

推荐阅读