尝试从文件读取并输出更改的字符串时调试错误

时间:2017-05-12 01:52:51

标签: c++

所以我测试了一个小程序,它读取的文件包含几行,每行包含一行或两个字符,并根据行中的字符输出方向箭头(Think DDR输出样式:&# 34;< ^ v>")

只是阅读和输出文本文件中出现的行很好,但是我无法编辑它们出现的方式而没有得到超级通用的调试错误,没有代码或任何东西告诉我问题是什么。这只是我不允许做的事情,还是应该用数组替换我的字符串?

以下代码:

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

void output(string raw);

int main()
{
    string content_line;
    ifstream file;
    file.open("level1.txt", ios::out);
    if (file.is_open())
    {
        while (getline(file, content_line))
        {
            output(content_line);
        }
        file.close();
    }
    return 0;
}

void output(string raw)
{
    string row = "       ";
    for (int i = 0; i <= raw.size(); i++)
    {
        switch (raw.at(i))
        {
        case 'l': row.at(0) = '<';
            break;
        case 'u': row.at(2) = '^';
            break;
        case 'd': row.at(4) = 'v';
            break;
        case 'r': row.at(6) = '>';
            break;
        }
    }
    cout << row << '\n';
}

现在出现的文本文件只是:

u
d
l
r
ud
lr
ul
dr

0 个答案:

没有答案