无法使用 ofstream 编写 space,但 endl 工作正常
cannot write a space using ofstream, but endl works fine
好吧,这似乎是一个简单的问题;但我似乎找不到答案。我的代码如下:
void writeFile(int grid[9][9]) {
ofstream fout ("myGame2.txt");
if (fout.is_open()) {
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
fout << grid[i][j] << ' ';
}
}
fout.close();
}
}
这会生成一个充满乱码的文件:
‷′″‰‰‰‱‵‹‶‰‰″‰′‰‰‸‸‰‰‰‱‰‰‰′‰‷‰‶‵‴‰′‰‰‰‴′‰‷″‰‰‰‵‰‹″‱‰‴‰‵‰‰‰‷‰‰‰″‴‰‰‱‰″‰‰‶‹″′‰‰‰‷‱‹'
但是如果我用 endl 替换 space 字符,它的输出就很好。
fout << grid[i][j] << endl;
所以我的问题变成了,如何将我的数组输出到文件,并用 space 而不是 endl 分隔整数。
此外,如果有更详细解释的位置,请随时link。感谢所有帮助。
根据您使用的IDE,结束没有 endl 的文件可能会导致问题。
解决方案:
void writeFile(int grid[9][9]) {
ofstream fout ("myGame2.txt");
if (fout.is_open()) {
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
fout << grid[i][j] << ' ';
}
}
fout << endl;
fout.close();
}
}
或者如果您希望它像网格一样打印出来而不是单行文本:
void writeFile(int grid[9][9]) {
ofstream fout ("myGame2.txt");
if (fout.is_open()) {
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
fout << grid[i][j] << ' ';
}
fout << endl;
}
fout.close();
}
}
好吧,这似乎是一个简单的问题;但我似乎找不到答案。我的代码如下:
void writeFile(int grid[9][9]) {
ofstream fout ("myGame2.txt");
if (fout.is_open()) {
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
fout << grid[i][j] << ' ';
}
}
fout.close();
}
}
这会生成一个充满乱码的文件:
‷′″‰‰‰‱‵‹‶‰‰″‰′‰‰‸‸‰‰‰‱‰‰‰′‰‷‰‶‵‴‰′‰‰‰‴′‰‷″‰‰‰‵‰‹″‱‰‴‰‵‰‰‰‷‰‰‰″‴‰‰‱‰″‰‰‶‹″′‰‰‰‷‱‹'
但是如果我用 endl 替换 space 字符,它的输出就很好。
fout << grid[i][j] << endl;
所以我的问题变成了,如何将我的数组输出到文件,并用 space 而不是 endl 分隔整数。
此外,如果有更详细解释的位置,请随时link。感谢所有帮助。
根据您使用的IDE,结束没有 endl 的文件可能会导致问题。 解决方案:
void writeFile(int grid[9][9]) {
ofstream fout ("myGame2.txt");
if (fout.is_open()) {
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
fout << grid[i][j] << ' ';
}
}
fout << endl;
fout.close();
}
}
或者如果您希望它像网格一样打印出来而不是单行文本:
void writeFile(int grid[9][9]) {
ofstream fout ("myGame2.txt");
if (fout.is_open()) {
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
fout << grid[i][j] << ' ';
}
fout << endl;
}
fout.close();
}
}