【发布时间】:2021-04-21 11:04:05
【问题描述】:
我正在使用此代码在桌面文件夹中创建一个目录。
#include <iostream>
#include <stdio.h>
#include <direct.h>
#include<string>
using namespace std;
int main()
{
string k,s="c:/Users/Dell/Desktop/";
cin>>k;
string p =s+k;
if (mkdir(p.c_str()) != 0)
{
cerr<<"Failed"<<endl;
}
return 0;
}
但此代码仅适用于我的电脑,因为它具有整个父目录路径。 我想在放置 main.cpp 的工作目录中创建一个新文件夹,因为我们不知道用户将放置 cpp 文件的位置。 我知道论坛上有很多与此问题类似的解决方案,但我在这里找不到或理解任何可以帮助我的解决方案。谢谢。
【问题讨论】:
-
可以使用
__FILE__宏获取当前源文件的路径。但不能保证它是完整路径,并且使用与源文件相同的目录无论如何都没有意义,特别是如果您希望能够分发程序并将其安装在源文件甚至没有的系统上可用。 -
您可能想要使用工作目录或读取运行程序的用户的用户目录或
USERPROFILE环境变量的值(假设 Windows 作为目标系统)。跨度>
标签: c++ directory working-directory