我目前正在从事一个项目,该项目取决于我提供文件的路径(例如C:\Path.pth
)。现在,我昨天通过调用std::string
进行了所有工作:
std::string path(`"C:\\Path.pth`");
但是现在不起作用。抛出bad_alloc
。好像是'\
'字符是问题所在。我什至尝试使用\x5C
作为其ascii值,但结果相同。
现在,我的问题是,是否有可能我搞砸了某些#define
,某些编译器选项或其他可能导致这种情况的“非代码”?我正在使用VS 2005。
任何帮助将不胜感激
PierreBdR
..听起来很可能。或至少,它必须:P
由于没有人提到过某种/ SetStringCharSize:2bit-compiler选项,所以我可以肯定地认为我的代码必须在某个地方弄乱了某些东西,而不仅仅是一个愚蠢的编译器选项(或类似的选项),错误..
我目前正在一个项目上,该项目取决于我提供文件的路径(例如C:\ Path.pth)。现在,我昨天通过调用std :: string和:std :: string path(`“ C:\\ Path ....
正如您的错误所建议,问题是由于内存分配
已发现并修复该错误。
不要忘记,即使在Windows上,也应该在路径中使用正斜杠:
将字符串定义为:“ C:\\ Path.pth”
[不,您昨天也没有在“工作”。 '\'需要像这样转义:
这可能仅仅是由于需要一个干净的版本;我经历过这种情况肯定是这样。
假设您的双反斜杠正确,我猜您正在Vista上运行?