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
无论当前路径是什么,会自动地从当前盘的根目录开始查找指定的程序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)