![](/img/trans.png)
[英]OpenCV: System.Runtime.InteropServices.SEHException
[英]error: 'System.Runtime.InteropServices.SEHException'
我正在尝试以这种方式打开一个文件,但在标记的行上得到该异常:
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
例外:
Project.exe中发生了类型为'System.Runtime.InteropServices.SEHException'的未处理异常
附加信息:外部组件引发了异常。
调试器指向xstring
文件的第2296行(仅包含}
,位于_Xout_of_range("invalid string position");
行之后)。
请问该如何解决?
非常感谢!
如果start
不在[0, str.length)
范围内[0, str.length)
或者start + length
在[0, str.length]
范围内[0, str.length)
则抛出此异常。 由于start
为0,并且在这种情况下未找到任何字符时, find_first_of
返回有效索引或std::string::npos
,这意味着std::string::npos
由find_first_of
返回。 因为您发布的代码无法做到这一点,所以我认为您发布的不是导致异常的实际代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.