pathfile.cpp
来自「这是本人在工作中积累的VC++类库」· C++ 代码 · 共 69 行
CPP
69 行
/************************************************************************
模快名: moxu 公共类库
功能: 文件及目录属性的读取
完成日期: 2007-10-20
作者: 许 培 Xu Pei(Email/MSN: peimoxu@163.com)
本代码可以自由使用,但因使用本代码造成的后果,本人不承担任何责任
************************************************************************/
#include "stdafx.h"
#include "PathFile.h"
namespace moxu
{
TString PathFile::GetWindowsPath()
{
TCHAR str[MAX_PATH];
if(0 == GetWindowsDirectory(str, MAX_PATH))
return _T("");
return str;
}
TString PathFile::GetSystemPath()
{
TCHAR str[MAX_PATH];
if(0 == GetSystemDirectory(str, MAX_PATH))
return _T("");
return str;
}
TString PathFile::GetCurrentPath()
{
TCHAR str[MAX_PATH];
if(0 == GetCurrentDirectory(MAX_PATH, str))
return _T("");
return str;
}
TString PathFile::GetStartPath()
{
TCHAR fullPath[MAX_PATH];
TCHAR drive[_MAX_DRIVE];
TCHAR dir[_MAX_DIR];
if(0 == GetModuleFileName(NULL, fullPath, MAX_PATH))
return _T("");
_tsplitpath(fullPath, drive, dir, NULL, NULL);
TString str = TString(drive) + dir;
return str;
}
UINT64 PathFile::GetFileSize(LPCTSTR fileName)
{
HANDLE hFile;
LARGE_INTEGER size;
hFile = CreateFile(fileName, 0, FILE_SHARE_READ, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
if(INVALID_HANDLE_VALUE == hFile)
return -1;
size.LowPart = ::GetFileSize(hFile, (LPDWORD)&size.HighPart);
CloseHandle(hFile);
if(INVALID_FILE_SIZE == size.LowPart)
return -1;
return size.QuadPart;
}
}//namespace moxu
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?