抑制wxFileName :: Normalize错误消息

时间:2014-02-19 10:59:50

标签: c++ wxwidgets filepath

我有以下用于规范化用户提供的文件路径的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了解任何事情

1 个答案:

答案 0 :(得分:4)

使用wxLogNull。在此类对象的生命周期内对日志函数的所有调用都将被忽略。 请参阅documentation

wxLogNull noLogsPlease;
wxString orig_path;      
wxFileName res_path(orig_path);
res_path.Normalize(wxPATH_NORM_DOTS);