我可以在 "cmd console?" 上给出一个参数吗
Can i give a parameters on "cmd console?"
我想使用 CMD 控制台。
例如
如果 a.cpp 如下所示
int main(int argc, char* argv[]) {
for (int i = 0; i < argc; i++) {
cout << "argv : " << argv[i] << endl;
}
string path = "c:\test";
vector<fs::path> v;
vector<fs::path>::iterator it;
for (auto& entry : fs::recursive_directory_iterator(path))
v.push_back(entry.path());
for (it = v.begin(); it != v.end(); ++it) {
cout << *it << endl;
}
如果我想通过 CMD 控制台 运行 a.exe
可以是
C:\users> a.exe
结果会是
"c:\test\test1"
"c:\test\test1\test2"
"c:\test\test1\test2\lastdir"
"c:\test\test1\test2\lastdir2"
"c:\test\test1_1"
"c:\test\test1_1\test1_txt.txt"
但是如果我想通过 CMD 控制台更改路径怎么办
例如
C:\users> a.exe c:\temp
输出将是
"c:\temp\temp_dir"
"c:\temp\temp_dir\temp.txt"
"c:\temp\temp_dir2"
自 C++17 以来,您可以便携地执行此操作
#include <filesystem>
std::filesystem::current_path(std::filesystem::path(path));
我想使用 CMD 控制台。 例如 如果 a.cpp 如下所示
int main(int argc, char* argv[]) {
for (int i = 0; i < argc; i++) {
cout << "argv : " << argv[i] << endl;
}
string path = "c:\test";
vector<fs::path> v;
vector<fs::path>::iterator it;
for (auto& entry : fs::recursive_directory_iterator(path))
v.push_back(entry.path());
for (it = v.begin(); it != v.end(); ++it) {
cout << *it << endl;
}
如果我想通过 CMD 控制台 运行 a.exe 可以是
C:\users> a.exe
结果会是
"c:\test\test1"
"c:\test\test1\test2"
"c:\test\test1\test2\lastdir"
"c:\test\test1\test2\lastdir2"
"c:\test\test1_1"
"c:\test\test1_1\test1_txt.txt"
但是如果我想通过 CMD 控制台更改路径怎么办
例如
C:\users> a.exe c:\temp
输出将是
"c:\temp\temp_dir"
"c:\temp\temp_dir\temp.txt"
"c:\temp\temp_dir2"
自 C++17 以来,您可以便携地执行此操作
#include <filesystem>
std::filesystem::current_path(std::filesystem::path(path));