C ++:使用get()从文件读取;不能按预期工作

选择

假设我有一个看起来像下面的文件:

|----------------------------------------------|
|                                              |
| |---------|       |--------------|           |
| |.........|       |..............|           |
| |.........|       |..............|           |
| |----+----|       |----+---------|           |
|      #                 #                     |
|      ###################                     |
|                                              |
|----------------------------------------------|

(它将是游戏的地图文件)
在这种情况下,MAX_WIDTH为48,MAX_HEIGHT为10。

我这样做是为了在阅读时不会跳过空格
infile.unsetf(ios_base::skipws);

然后我get()在如下循环中使用

char tile[MAX_HEIGHT][MAX_WIDTH];
char c;

for(int i=0; i<MAX_HEIGHT; i++) {
    for(int j=0; j<MAX_WIDTH + 1; j++) {
        infile.get(c);
        if(c == '\n') {
            continue;
        }
        tile[i][j] = c;
    }
}

但是在每一行之后,当我打印数组时,看起来就像是在推行。

|--------------------------------------------|
|
|| |--------|      |-------------|
|| |........|      |.............|
 || |........|      |.............|
  || |----+---|      |----+--------|

不确切,但类似这样。

可能出了什么问题,我该怎么办?

(+)打印数组如下:

for(int i=0; y<MAX_HEIGHT; y++) {
    for(int j=0; x<MAX_WIDTH; x++) {
        cout << tile[y][x];
    }
    cout << endl;
}
长颈鹿队长

如果输入文件中有Windows样式的换行符,则每个换行符需要读取两个字符。\r\n那将解释您的输出损坏。

一种解决方法是使用std::getline样式函数而不是get或明确检查\r\n组合。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C double不能按预期工作

来自分类Dev

C#中的可变范围:不能按预期工作

来自分类Dev

C ++是否不能按预期工作?(确实很奇怪的错误)

来自分类Dev

C#中的可变范围:不能按预期工作

来自分类Dev

字符不能按预期方式在c中工作

来自分类Dev

std :: cin.fail()不能按预期在c ++中工作

来自分类Dev

c ++如果语句不能按预期工作,请在输入之前打印“ else”

来自分类Dev

.get()不能按预期工作

来自分类Dev

为什么以下 C 代码中的后递减运算符不能按预期工作?(具有 7 的值)

来自分类Dev

为什么strcmp()不能按我的方式工作?C ++

来自分类Dev

:not()不能按预期工作

来自分类Dev

:not()不能按预期工作

来自分类Dev

从进程读取,StreamReader.Peek()不能按预期工作

来自分类Dev

批处理文件:FOR / F不能按预期工作

来自分类Dev

mongodb $ elemMatch使用$ ne不能按预期工作

来自分类Dev

用C ++实现的Perceptron不能按预期进行训练。(AND逻辑门示例)

来自分类Dev

AutoResizeTextView不能按预期工作

来自分类Dev

getElementById不能按预期工作?

来自分类Dev

递归IEnumerable不能按预期工作?

来自分类Dev

jQuery slideDown不能按预期工作

来自分类Dev

递归函数不能按预期工作

来自分类Dev

Javascript RegExp'*'不能按预期工作

来自分类Dev

strtoul()不能按预期工作?

来自分类Dev

sendRedirect()不能按预期工作

来自分类Dev

$ nin与$ elemMatch不能按预期工作

来自分类Dev

终于不能按预期工作

来自分类Dev

whenAll()不能按预期工作

来自分类Dev

arraylist不能按预期工作

来自分类Dev

QGridLayout不能按预期工作

Related 相关文章

热门标签

归档