gpt4 book ai didi

c++ - 为什么我的程序不从文件中将字符输入二维数组?

转载 作者:行者123 更新时间:2023-11-30 02:28:50 25 4
gpt4 key购买 nike

我正在尝试从文件中将字符输入到二维数组中,但它没有将任何内容放入数组中。当我尝试打印出来时,我只得到一堆看起来像这样的符号 - ╠

这是一个产生相同错误的例子:

测试文件如下所示:

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com