R6010 abort() 已被调用

2024-02-03

我从这里读到了有关 substr 的内容

http://www.cplusplus.com/reference/string/string/substr/ http://www.cplusplus.com/reference/string/string/substr/

这是我的代码:

 int main()
{
std::ifstream in ("c:\\users\\admin\\desktop\\aaa.txt");
std::ofstream out ("c:\\users\\admin\\desktop\\bbb.txt");
std::string s ;
while ( getline (in,s) )
{

    std::size_t startpos = s.find("test");

    std::string str = s.substr (startpos);

    out << str << endl;

}
  in.close();
 out.close();
}

我收到错误:R6010 abort() 已被调用

注意:aaa.txt包含空格/字符/html标签

任何想法 ?


由于我不知道文本文件的内容,您能否尝试进行以下更改,并让我知道错误是否仍然显示:

#include <fstream>
#include <iostream>
#include <sstream>

using namespace std;

int main()
{
    ifstream in("example.txt");
    ofstream out("bbb.txt");
    string s = std::string();
    string str = std::string();
    while (getline(in, s))
    {
        size_t startpos = s.find("test");
        cout << s;

        if (startpos != std::string::npos){
            str = s.substr(startpos);
            out << str << endl;
        }
    }
    in.close();
    out.close();
    getchar();

    return 0;
}

我在用if (startpos != std::string::npos)检查查找成功时要执行的操作的条件,您的代码中缺少此条件。添加此案例将解决您的错误。

继续编码:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R6010 abort() 已被调用 的相关文章