获取一个命令行字符串:unzip -d ./123 1.zip ,如何在Linux上解析到解压的压缩包路径,用c++实现
时间: 2024-02-20 15:56:33 浏览: 89
操作系统大作业在Linux系统使用C++实现模拟Linux命令解析器源代码.zip
可以使用C++中的字符串处理函数来解析命令行字符串,具体步骤如下:
1. 通过命令行参数获取到字符串 "unzip -d ./123 1.zip"。
2. 使用C++中的字符串处理函数,比如 std::string::find() 和 std::string::substr(),来解析出目标压缩包路径。
代码示例:
```c++
#include <iostream>
#include <string>
int main(int argc, char** argv) {
std::string cmd = "unzip -d ./123 1.zip";
std::string unzip = "unzip ";
size_t pos = cmd.find(unzip);
if (pos != std::string::npos) { // 找到了 unzip
std::string zipPath = cmd.substr(pos + unzip.length()); // 获取压缩包路径
std::cout << zipPath << std::endl;
}
return 0;
}
```
在上述示例中,使用 std::string::find() 函数找到了 "unzip " 的位置,然后使用 std::string::substr() 函数获取了压缩包路径。最终输出的结果是 "./123 1.zip",可以根据实际需求再进行解析。
阅读全文