从文件名中提取文件名,路径来自参数

Extract the file name from filename with path which comes from argument

本文关键字:文件名 参数 路径 提取      更新时间:2023-10-16

我的程序获取带或不带路径(直接或间接)的文件名。我想使用 argv 中的文件名作为输出文件名的一部分。问题是有时来自 argv 的文件名包含路径,有时不包含。

我想做的是1.如果文件名包含路径,则仅提取文件名并返回文件名。2. 如果文件名不包含路径,则返回文件名。

当前我的代码是

  std::string input_trace_filename = argv[1];
  std::string read_filename = input_trace_filename + ".read.";
  std::string write_filename = input_trace_filename + ".write.";

提前谢谢。

你可以使用这个:

std::string filename = string(argv[1]);
int index = filename.find_last_of("/\");
std::string input_trace_filename = filename.substr(index+1);