c语言如何获得文件当前路径

c语言如何获得文件当前路径,第1张

C语言里

在main函数的第二个参数里面,

保存着当前程序运行的目录

也就是argv[0]

main( int argc, char argv[])

{

printf("%s ", argv[0] );

}

就是文件当前所在位置

不过需要注意的一点是

这个路径里面保存了当前文件的文件名

如果你只是需要路径的话还需要自己 *** 作一下

main(int a,char c[])

{

char s[100];

int i;

//把路径保存到字符串s里

strcpy(s,c[0]);

for(i=strlen(s); i>0 ; i--)

if( s[i] == '\\')

{

s[i]='\0';

break;

}

//找到最后一个 \ 并删除之后的内容

//最后输出的s,就是当前文件的路径了

puts(s);

}

hModule=CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,pinfo->th32ProcessID);

Module32First(hModule, minfo); GetShortPathName(minfo->szExePath,shortpath,256);如果还需要详细的代码,请Q我吧。。我最近刚在做这块。。。新手,写的东西比较简单- -

1 SystemDiagnosticsProcessGetCurrentProcess()MainModuleFileName

-获取模块的完整路径。

2SystemEnvironmentCurrentDirectory

-获取和设置当前目录(该进程从中启动的目录)的完全限定目录。

3SystemIODirectoryGetCurrentDirectory()

-获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,

4SystemAppDomainCurrentDomainBaseDirectory

-获取程序的基目录。

5SystemAppDomainCurrentDomainSetupInformationApplicationBase

-获取和设置包括该应用程序的目录的名称。

6 SystemWindowsFormsApplicationStartupPath

-获取启动了应用程序的可执行文件的路径。效果和2、5一样。只是5返回的字符串后面多了一个"\"而已

7SystemWindowsFormsApplicationExecutablePath

-获取启动了应用程序的可执行文件的路径及文件名,效果和1一样。

对于Windows程序 和Web 应用程序来说,他们运行的路径是不一样的,所以关键是判断当前运行的程序是哪种程序于是我们可以使用如下的代码

string path = "";

if (SystemEnvironmentCurrentDirectory ==AppDomainCurrentDomainBaseDirectory)//Windows应用程序则相等

{

path = AppDomainCurrentDomainBaseDirectory;

}

else

{

path = AppDomainCurrentDomainBaseDirectory + "Bin\";

}

这样如果我们写了一个类库,类库中用到了AssemblyLoadFrom,由于是通用类库,所以可能用到Windows程序中也可能用到Web中,那么用上面的代码就很方便了

1、ServerMapPath

2、SystemWindowsFormsStartupPath

3、TypeAssemblyLocation

方法2可以应用于控制台应用程序,WinForm应用程序,Windows服务,方法1可以应用于Web应用程序,方法3都可以应用。

但方法3是加载应用程序的路径。如果是Web应用程序,取得的路径是:C:\WINDOWS\MicrosoftNET\Framework\v114322\Temporary ASPNET Files目录。所以Web项目还是使用ServerMapPath吧。否则建议使用方法2。如果自己新建类库。可以加入对SystemWindowsFormsStartupPath的引用后使用

在Windows服务中需要获得当前服务所在的路径时,不能简单的使用EnvironmentCurrentDirectory来获得当前路径,因为windows服务所启动的目录都是在c:/windows/system32。如果在你的服务中需要检测某个配置文件时,你无法获得这个配置文件的路径。

以上就是关于c语言如何获得文件当前路径全部的内容,包括:c语言如何获得文件当前路径、C语言...如何获取进程的可执行文件路径...、C#如何获得文件夹的路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9401469.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存