簡體   English   中英

從 C、C++ 中的變量獲取文件路徑

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM