[英]Taking path to file from variable in C, C++
我正在使用 C、C++ 和dirent.h
做一个小项目。 我想问一下是否可以从变量中获取文件夹/文件的路径:
string fileName;
cout << "Create new file" << endl;
cin>>fileName;
CreateDirectory(documentLocation.c_str()+fileName.c_str(), NULL);
documentLocation
是我在程序开始时提供的变量,我想在其中创建一个新目录。 添加fileName
,我想在这个文件夹中创建一个新目录。 但我收到一个错误:
表达式必须具有整数或枚举类型
您不能使用+
连接 C 字符串。 首先连接std::string
s,然后从中获取 C 字符串。
CreateDirectory((documentLocation + fileName).c_str(), NULL);
c_str()
返回一个const char *
,所以在
documentLocation.c_str()+fileName.c_str()
您尝试添加两个const char *
,这不起作用。
std::string
重载+
运算符:
std::string path = documentLocation + fileName;
CreateDirectory(path.c_str(), NULL);
首先将两个字符串相加(连接),然后取结果的c_str()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.