使用来自参数的路径从文件名中提取文件名

时间:2017-01-20 10:06:30

标签: c++ string

我的程序获取带或不带路径的文件名(直接或间接)。 我想使用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.";

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用:

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