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