我正在努力解决一个奇怪的问题。 我要创造我的程序的解决方案的文件夹,我已经写了下面的代码:_mkdir奇怪的行为C++
timer = time(NULL);
path.assign(".\\Solution_");
path.append(ctime(&timer));
ch1 = ':';
ch2 = '_';
for (i = 0; i < path.length(); ++i) {
if (path[i] == ch1 || path[i] == ' ')
path[i] = ch2;
}
mkdir(path.c_str());
它不创造任何即使路径等于“ \ Solution_Thu_Jun_12_10_10_31_2014”如果我输入
mkdir(".\\test");
它工作正常。 我做了很多测试,我尽我所能,但我无法弄清楚什么是错的。 任何人都可以帮助我吗? 最佳, 罗伯托
详细信息: 即使我使用mkdir(path.c_str());
与路径等于“Solution_Thu_Jun_12_11_52_04_2014”(没有任何\),它不反正工作,并在另一边“的mkdir(‘测试’);”作品。
解决方案: 好吧,有一个隐藏的换行符。 感谢大家的帮助: - )!!!
你在嵌入式系统上运行? IIRC mkdir不是该标准的一部分。 –
该问题是由于通过反斜杠'\'逃脱。做'。\\解决方案...'应该可以工作。 –
当你在'mkdir(path.c_str())之前'cout path.cstr()'时输出什么?如果用'mkdir(“。\\ Solution_Thu_Jun_12_10_10_31_2014”);''替换mkdir(“。\\ test”);它会工作正常吗? – Aserre