方法一:当前工程下的文件
fopen("demo.txt","rt")
方法二:当前工程下的 test文件夹 中文件
fopen(".\\test\\demo.txt","rt")
方法三:绝对路径,D盘下project文件夹中的文件
fopen("d:\\project\\demo.txt","rt")
可以为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
直接把新的路径复制到字符数组中。