我正在尝试从文件中将字符输入到二维数组中,但它没有将任何内容放入数组中。当我尝试打印出来时,我只得到一堆看起来像这样的符号 - ╠
这是一个产生相同错误的例子:
测试文件如下所示:
g g g g g g g g g g
g g g t t t t t t g
g g g t t g t t g g
g t t g g t g g t g
g t t g g t g g t g
g t g t t g t t g g
g t t g g t g g t g
g t t g g t g g t g
g t g t t g t t g g
g g g g g g g g g g
产生相同错误的示例:
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main() {
ifstream inFile;
char myArray[15][15];
inFile.open("C:\test\Ch5p_fa.asc");
int rows = 10;
int columns = 10;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < columns; j++) {
inFile.get(myArray[i][j]);
}
}
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < columns; j++) {
cout << myArray[i][j] << ' ';
}
cout << endl << endl;
}
inFile.close();
cin.get();
}
最佳答案
试试这个:
int main() {
ifstream inFile;
char myArray[15][15];
inFile.open("C:\\test\\Ch5p_fa.asc", std::fstream::in); // std::fstream::in allows you to read from the file.
int rows = 10;
int columns = 10;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
inFile.get(myArray[i][j]);
inFile.get(); // Skeem unwonted char
}
}
inFile.close();
cin.get();
}
如果您需要空格,只需将列扩大一倍即可。
关于c++ - 为什么我的程序不从文件中将字符输入二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40297019/