From 74853d64355bbd03c8c2ba919a7d780318ec1395 Mon Sep 17 00:00:00 2001 From: jonyguo Date: Sat, 2 Apr 2022 11:10:57 +0800 Subject: [PATCH] fix: windows path with backslash --- mindspore/core/utils/file_utils.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mindspore/core/utils/file_utils.cc b/mindspore/core/utils/file_utils.cc index 658baadc247..238c82e4866 100644 --- a/mindspore/core/utils/file_utils.cc +++ b/mindspore/core/utils/file_utils.cc @@ -261,8 +261,13 @@ std::optional FileUtils::GetRealPath(const char *path) { void FileUtils::SplitDirAndFileName(const std::string &path, std::optional *prefix_path, std::optional *file_name) { auto path_split_pos = path.find_last_of('/'); - if (path_split_pos == std::string::npos) { - path_split_pos = path.find_last_of('\\'); + auto path_split_pos_backslash = path.find_last_of('\\'); + if (path_split_pos != std::string::npos) { + if (path_split_pos_backslash != std::string::npos && path_split_pos < path_split_pos_backslash) { + path_split_pos = path_split_pos_backslash; + } + } else { + path_split_pos = path_split_pos_backslash; } MS_EXCEPTION_IF_NULL(prefix_path);