VC2008 获取文件名的 盘符、文件路径、扩展名
#include "stdafx.h"
#include "stdlib.h"
int _tmain(int argc, _TCHAR* argv[])
{
char path_buffer[_MAX_PATH];
char drive[_MAX_DRIVE];
char dir[_MAX_DIR];
char fname[_MAX_FNAME];
char ext[_MAX_EXT];
errno_t err;
err = _makepath_s( path_buffer, _MAX_PATH, "Z", "//t1//t2//",
"test", ".1.txt" );
if (err != 0)
{
printf("Error creating path. Error code %d./n", err);
exit(1);
}
printf( "用 _makepath_s 合成的路径:/n %s/n/n", path_buffer );
err = _splitpath_s( path_buffer,
drive, _MAX_DRIVE,
dir, _MAX_DIR,
fname, _MAX_FNAME,
ext, _MAX_EXT );
if (err != 0)
{
printf("Error splitting the path. Error code %d./n", err);
exit(1);
}
printf( "用_splitpath_s 从/n %s /n提取的路径信息:/n",path_buffer );
printf( " 盘符 = %s/n", drive );
printf( " 目录 = %s/n", dir );
printf( " 文件名= %s/n", fname );
printf( " 扩展名= %s/n", ext );
getchar();
return 0;
}
-- 结果 --
用 _makepath_s 合成的路径:
Z:/t1/t2/test.1.txt
用_splitpath_s 从
Z:/t1/t2/test.1.txt
提取的路径信息:
盘符 = Z:
目录 = /t1/t2/
文件名= test.1
扩展名= .txt