c语言程序如何设置默认路径

c语言程序如何设置默认路径,第1张

可以为main函数增加两个参数

int

main(int

argc,char*

argv[])

{

return

0

}

argc

是命令行参数的个数,argv是一个字符串数组,代表以空格分隔的命令行参数,其中

argv[0]

是程序自身的路径(包括文件名)。

也可以使用API函数

GetModuleFileName

,用法如下,需要包含头文件

windows.h

tchar.h

TCHAR

szFile[MAX_PATH]

=

{0}

DWORD

dwLen

//返回路径长度

dwLen

=

GetModuleFileName(NULL,szFile,MAX_PATH)

此时,szFile

中保存了程序本身的路径,可以将最后的扩展名改为

txt

即可得到一个与程序同路径同名的文本文件名,将数据写入其中即可。

代码如下:

szFile[dwLen

-3]

=

0

_tcscat(szFile,_T("txt"))

此时,szFile

就是一个文件文件路径了,可以直接用。

我想,你所说的默认路径,可以先把一个路径(想要的默认路径)保存到一个字符数组中,输入文件名后,用

strcat

函数把文件名连接到默认路径的后面就可以了。

如果要改变路径,就用

strcpy

直接把新的路径复制到字符数组中。

C语言中指定文件路径的三种方法:

方法一:当前工程下的文件

fopen("demo.txt","rt")

方法二:当前工程下的 test文件夹 中文件

fopen(".\\test\\demo.txt","rt")

方法三:绝对路径,D盘下project文件夹中的文件

fopen("d:\\project\\demo.txt","rt")

文件路径分为绝对路径和相对路径。

绝对路径:是从盘符开始的路径,形如

D:\Project\Data\input.txt

相对路径:是从当前路径开始的路径,假如当前路径为D:\Project

要描述上述路径,只需输入

Data\input.txt

实际上,严格的相对路径写法应为

.\Data\input.txt

其中,.表示当前路径,在通常情况下可以省略,只有在特殊的情况下不能省略。

与.类似..为父目录,也即上一层目录。

另外,还有一种不包含盘符的特殊绝对路径,形如

\windows\system32\cmd.exe

无论当前路径是什么,会自动地从当前盘的根目录开始查找指定的程序。


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

原文地址: http://outofmemory.cn/yw/7720258.html

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

发表评论

登录后才能评论

评论列表(0条)

保存