截取文件路径

BOOL PathRemoveFileSpec( LPTSTR pszPath);

功能:删除路径后面的文件名和’/’符号。该函数可以分析出一个文件的路径。

例:char szpath[MAX_PATH]=”d://test//111.txt”;

调用PathRemoveFileSpec( szpath ) 后,szPath = “d://test”

BOOL PathAppendA(

LPSTR  pszPath,

LPCSTR pszMore

);

功能:动态添加搜索路径设置

头文件为

#include <Shlwapi.h>

#pragma comment(lib,"shlwapi.lib")

例如,我们想获取EXE文件自身所在的文件夹,可以这样:

#include <stdio.h>

#include <Shlwapi.h>

#pragma comment(lib,"shlwapi.lib")

int main()

{

TCHAR szPath[MAX_PATH];

//获取应用程序或者DLL的完整路径

::GetModuleFileName(NULL, szPath, MAX_PATH);

//去掉路径末尾的文件名和反斜杠

::PathRemoveFileSpec(szPath);

printf("%ls\n", szPath);

return 0;

}

例如:

#include <windows.h>

#include <iostream>

#include "Shlwapi.h"

using namespace std;

int main( void )

{

// String for path name.

char buffer_1[MAX_PATH] = "name_1\\name_2";

char *lpStr1;

lpStr1 = buffer_1;

// String of what is being added.

char buffer_2[ ] = "name_3";

char *lpStr2;

lpStr2 = buffer_2;

cout << "The original path string is    " << lpStr1 << endl;

cout << "The part to append to end is   " << lpStr2 << endl;

bool ret = PathAppend(lpStr1,lpStr2);

cout << "The appended path string is    " << lpStr1 << endl;

}

OUTPUT:

---------

The original path string is    name_1\name_2

The part to append to end is   name_3

The appended path string is    name_1\name_2\name_3

原文地址:https://www.cnblogs.com/gd-luojialin/p/10962965.html

时间: 2024-10-11 03:08:46

截取文件路径的相关文章

c#截取文件路径

private void button1_Click(object sender, EventArgs e)        {                      string s=textBox1.Text.Trim();             int idex = s.IndexOf("\\");                       while (s.IndexOf("\\")!=-1)             {                

截取上传的文件路径

function lastname(){ //获取欲上传的文件路径var filepath = document.getElementById("file1").value; //为了避免转义反斜杠出问题,这里将对其进行转换var re = /(\\+)/g; var filename=filepath.replace(re,"#");//对路径字符串进行剪切截取var one=filename.split("#");//获取数组中最后一个,即文

Ruby操作VBA的注意事项和技巧:乱码、获取VBA活动和非活动窗口的名称与路径、文件路径的智能拼接与截取(写入日期)、宏里调用和控制窗体以及窗体上的控件、不同workbook之间的宏互相调用、

1.VBA编辑器复制粘贴出来的代码乱码     解决方法:切换到中文输入模式再复制出来就行了 2.获取VBA活动和非活动窗口的名称与路径 1 1 Dim wbpath, filename As String 2 2 wbpath = ThisWorkbook.Path ’这个获取的是宏所在的workbook的路径 3 3 'filename = ThisWorkbook.Name '这个是宏所在的workbook的名字,不带路径 4 4 filename = ActiveWindow.Capti

C# 截取带路径的文件名字,扩展名,等等 的几种方法

C#对磁盘IO操作的时候,经常会用到这些,路径,文件,文件名字,文件扩展名. 之前,经常用切割字符串来实现, 可是经常会弄错. 尤其是启始位置,多少个字节,经常弄晕. 下面这种方法貌似比较简便: string filePath = @"E:\Randy0528\中文目录\JustTest.rar"; Response.Write("文件路径:"+filePath); Response.Write(" 更改路径字符串的扩展名. "); Respon

Excel公式 提取文件路径后缀

我们在代码中获取一个文件路径的后缀,是一个很简单的事. 如C#中,可以通过new FileInfo(filePath).Extension,或者Path.GetExtension(filePath)获取. 而Excel的大数据中,直接批量获取同行单元格内容中文件路径的后缀,该如何获取? 如上,想获取文件后缀,然后从中分析出文件的所属开发语言. 公式如下: 1.获取后缀 =RIGHT(D2,LEN(D2)-FIND("@",SUBSTITUTE(D2,".",&quo

【技术宅3】截取文件和url扩展名的N种方法

//截取文件扩展名的N种方法   //第1种 //strrchr() 函数查找字符在指定字符串中最后一次出现的位置,如果成功,则返回其后面的字符串 //返回带有点的扩展名 function get_extension($file){ return strrchr($file, '.'); } echo get_extension("d.sdf.jpeg"); //第2种 //strchr() 函数查找字符在指定字符串中第一次出现的位置,如果成功,则返回其后面的字符串 //利用回调函数反

从文件路径中获取文件名的方法

//根据文件路径截取文件名    public String getfileName(String s) throws Exception{          s.trim();              String fileName = s.substring(s.lastIndexOf("/")+1);             //或者            String fileName = s.substring(s.lastIndexOf("\\")+1

C#访问文件路径通用类

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace Utility { /// <summary> /// @Author:梁继龙 /// @Date:2012/8/1 /// @Email:[email protected] /// @Description:文件处理类 /// </summary> publ

关于文件路径字符分割与组合

_splitpath 需要的头文件是:<stdlib.h>函数原型如下: void _splitpath( const char *path, char *drive, char *dir, char *fname, char *ext); 其中包含5个参数,第一个是待处理的完整的文件名路径,例如:“c:\windows\myfile.txt”,当然这个文件名也可以不是那么完整,即使是"myfile.txt"这样的字符串也可以成功处理.后面四个参数分别代表四个需要从原始文件