【发布时间】:2017-09-02 04:00:53
【问题描述】:
好的,这似乎是一个简单的问题;但我似乎无法找到答案。我的代码如下:
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 替换空格字符,它的输出就很好了。
fout << grid[i][j] << endl;
所以我的问题变成了,如何将数组输出到文件中,并用空格而不是 endl 分隔整数。
另外,如果有更详细地解释这一点的位置,请随时链接。感谢所有帮助。
【问题讨论】:
-
你试过用双引号代替单引号吗? (作为字符串而不是字符)?
-
@John3136 是的,我已将“”替换为“”。我得到了相同的结果。
-
胡言乱语到底是什么意思?
-
@rici 执行代码时会生成以下文本。 '‷'〃‰‰‰‱‵‹‶‰‰〃‰'‰‸‸‰‰‰‱‰‰'‰‷‰‶‵‴‰'‰‰‰‴'‰‷〃‰‰‰‵‰‹ ″‱‰‴‰‵‰‰‷‰‰‰″‴‰‰‱‰″‰‰‶‹″′‰‰‰‷‱‹'