From 229c98b195b283b9a5dc798480fb12f78eee06cd Mon Sep 17 00:00:00 2001 From: Henri Herscher Date: Fri, 3 Mar 2006 15:23:24 +0000 Subject: Created Utils.cpp - Moved file utility functions from Utils.h to Utils.cpp - Created FileCanOpen() git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@191 09dcff7a-b715-0410-9601-b79a96267cd0 --- orkbasecxx/Utils.cpp | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 orkbasecxx/Utils.cpp (limited to 'orkbasecxx/Utils.cpp') diff --git a/orkbasecxx/Utils.cpp b/orkbasecxx/Utils.cpp new file mode 100644 index 0000000..c1ba665 --- /dev/null +++ b/orkbasecxx/Utils.cpp @@ -0,0 +1,50 @@ +#include "Utils.h" +#include "ace/OS_NS_stdio.h" + +//======================================================== +// file related stuff + +CStdString FileBaseName(CStdString& path) +{ + CStdString result; + int lastSeparatorPosition = path.ReverseFind('/'); + if(lastSeparatorPosition == -1) + { + lastSeparatorPosition = path.ReverseFind('\\'); + } + if(lastSeparatorPosition != -1 && path.GetLength()>3) + { + result = path.Right(path.GetLength() - lastSeparatorPosition - 1); + } + else + { + result = path; + } + return result; +} + +CStdString FileStripExtension(CStdString& filename) +{ + CStdString result; + int extensionPosition = filename.ReverseFind('.'); + if (extensionPosition != -1) + { + result = filename.Left(extensionPosition); + } + else + { + result = filename; + } + return result; +} + +bool FileCanOpen(CStdString& path) +{ + FILE* file = ACE_OS::fopen((PCSTR)path, "r"); + if(file) + { + ACE_OS::fclose(file); + return true; + } + return false; +} -- cgit v1.2.3