我有以下用于规范化用户提供的文件路径的c++
代码:
wxString orig_path;
wxFileName res_path(orig_path);
res_path.Normalize(wxPATH_NORM_DOTS);
的参考文献: 的
wxFileName::Normalize
wxFileName::Normalize flags
当:
orig_path = "../../dir1/f.csv"
我收到恼人的错误消息:
Error: The path 'f.csv' contains too many ".."!
当:
orig_path = "dir1/../dir2/f.csv"
一切都按预期工作。
我能以任何方式抑制这些错误消息吗? (沉默的旗帜?)
我想在调用Normailze
之前我可以自己做一些处理,但有什么意义呢?在致电orig_path
Normailze
了解任何事情
答案 0 :(得分:4)
使用wxLogNull
。在此类对象的生命周期内对日志函数的所有调用都将被忽略。
请参阅documentation。
wxLogNull noLogsPlease;
wxString orig_path;
wxFileName res_path(orig_path);
res_path.Normalize(wxPATH_NORM_DOTS);