在建立文件之前先了解当前目录和当前目录的上一级目录的表示方法:“./”表示当前目录,而“../”则表示当前目录的上一级目录。其次要了解相对路径和绝对路径的区别:
1)绝对路径:绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。例如:C:\windows\system32\cmd.exe
注意: 在不同系统的情况系 windows下是“\”,linux和unix下是“/” ,但在win中没有本质区别。linux和unix系统中绝对路径 以“/”为起始 例:/home/user1/abc.txt
在windows中绝对路径用的更多的是“\”(也可以用“/”),网络路用的更多的是“/”。
2)相对路径:是从当前路径开始的路径,假如当前路径为C:\windows要描述上述路径,只需输入system32\cmd.exe实际上,严格的相对路径写法应为.\system32\cmd.exe
*在windows下,“./”或者“.\”当前路径表示当前目录,“../”或者“..\”(\有转义的意思,需要有两个\)表示当前路径表示的上一级目录
在Linux下,“./” 表示当前路径表示的当前目录 “../”表示当前路径表示的上一级目录*
例如:C:\windows\system32\cmd.exe
假如当前路径为c:\program files要调用上述命令,则需要输入..\windows\system32\cmd.exe其中,..为父目录。当前路径如果为c:\program files\common files则需要输入….\windows\system32\cmd.exe另外,还有一种不包含盘符的特殊绝对路径,形如\windows\system32\cmd.exe无论当前路径是什么,会自动地从当前盘的根目录开始查找指定的程序。
其中“..”为父目录,”..\”表示回到上一级目录,所以需要回到上一级目录进行查找。
建立文件的具体代码如下:
#include<io.h>
#include<direct.h>
if(_access("test", 0) != -1)
{
cout << "文件夹已存在" <<endl;
}
else
{
cout << "文件夹不存在,创建文件夹" << endl;
_mkdir("test");
}
ofstream ouf("./test/day.txt");
//ofstream ouf(".\\test\\day.txt");
ouf<<s5.c_str();
ouf.close();
ofstream ouf(“./test/day.txt”);和ofstream ouf(“.\test\day.txt”)产生的效果是一样的:都是在当前路径下建立了一个“test”文件夹,day.txt写在了test文件夹下。