我想将一个文件读入一个 int 数组,但我需要一次读取一个元素。 这是文件中的内容:
1000320
0110313
3333000
2033000
2203011
2000010
这是代码:
std::ifstream fin("file.in");
for (int i=0; i<6; ++i) //rows
{
for (int j=0; j<7; ++j) //columns
{
fin>>_array[i][j];
}
}
如果我打印 _array[0][0],它会输出第一行的所有内容。但是我想将文件中的内容拆分为行和列。 对 INT 数组执行此操作的最优雅方法是什么(我不想使用 char 数组,尽管它会容易得多。另外,我知道如果我在文件中的数字之间放置空格,程序会读取它们一次一个,但我希望他们像这样)
最佳答案
您可以尝试使用 getchar() 你会得到 char 但立即将其转换为 int
char temp = getchar(fin);
_array[i][j] = temp - '0';
不幸的是没有getint()
关于C++一次只从一个文件中读取一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54373713/