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

C++ 尝试读取文件并输出更改的字符串时出现调试错误,c++,C++,因此,我正在测试一个小程序,它读取一个文件,该文件包含几行,每行一个或两个字符,并根据行中的字符输出方向箭头(想想DDR输出样式:“^v>”) 只要读取和输出文本文件中显示的行就可以了,但是我无法编辑它们的显示方式,而不会得到一个超级通用的调试错误,没有代码或任何东西来告诉我问题是什么。这是不允许我做的事情,还是应该用数组替换字符串 代码如下: #include <iostream> #include <fstream> #include <string>

因此,我正在测试一个小程序,它读取一个文件,该文件包含几行,每行一个或两个字符,并根据行中的字符输出方向箭头(想想DDR输出样式:“^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';
}

为空。如果要为其赋值,请先调整其大小。您现在收到的错误是什么?有一个不同的构造函数可以用于字符串,但是对于您正在做的事情,它可能没有什么区别
i
,而不是
,它每次都以相同的方式出现……哪一行抛出错误?@RetiredNinja我感觉自己像个白痴,没有抓住它,非常感谢!!
u
d
l
r
ud
lr
ul
dr