首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:“System.Runtime.InteropServices.SEHException”

错误:“System.Runtime.InteropServices.SEHException”
EN

Stack Overflow用户
提问于 2014-04-01 10:52:21
回答 1查看 1.4K关注 0票数 0

我试图以这种方式打开一个文件,但是在标记行中得到了异常:

代码语言:javascript
复制
std::string str = "c:/qsdqsdsq/qsdqsdsq/qsdqsd.txt+++++qsdqsdqsd";
FILE *abc = fopen(str.substr(0, str.find_first_of("+++++")).c_str(), "w+b"); // marked line

例外:

System.Runtime.InteropServices.SEHException类型的未处理异常发生在Project.exe中 附加信息:外部组件引发异常。

调试器指向xstring文件的2296行(仅在_Xout_of_range("invalid string position");行之后包含xstring)。

请问我能怎么解决这个问题?

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-01 11:19:49

如果start不在[0, str.length)start + length不在[0, str.length]范围内,则引发此异常。由于start为0,而find_first_of返回有效的索引或std::string::npos (如果在本例中没有找到任何字符),这意味着find_first_of返回了std::string::npos。由于您发布的代码不可能这样做,所以我假设您发布的不是导致异常的实际代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22783723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档