11.8.1 切割文件名与路径
如下代码是一段文件路径切割实现,通过传入文件路径,获取文件名和文件路径的功能。具体实现包括两个函数:GetFileName
和GetFilePath
。前者接收一个文件路径字符串,并返回该文件路径中的文件名;后者接收一个文件路径字符串,并返回该文件路径中除文件名以外的部分,即文件路径。
在main
函数中,首先定义了两个文件路径字符串szPathA
和szPathB
。然后,分别调用GetFileName
和GetFilePath
函数,将它们的返回值保存在指针变量ptr
中,并输出到控制台上。最后,程序返回0,结束执行。
#include <iostream>
#include <Windows.h>
#include <string.h>
// 传入路径得到文件名
char* GetFileName(char* Path)
{
if (strchr(Path, '\'))
{
char ch = '\';
char* ref = strrchr(Path, ch) 1;
return ref;
}
else
{
char ch = '/';
char* ref = strrchr(Path, ch) 1;
return ref;
}
}
// 传入路径只得到文件路径
char* GetFilePath(char *Path)
{
int i, pos;
for (int count = 0; count < strlen(Path); count )
{
if (Path[count] == '\' || Path[count] == '/')
{
pos = count;
}
}
Path[pos] = '