Вы можете извлечь подстроку из строки, начиная с последней /
, но чтобы быть наиболее эффективным (то есть, чтобы избежать создания ненужной копии данных, которые вы хотите распечатать), вы можете использовать string::rfind
кака также ostream::write
:
string myFilePath = "SampleFolder/SampleFile";
size_t slashpos = myFilePath.rfind('/');
if (slashpos != string::npos) // make sure we found a '/'
cout.write(myFilePath.data() + slashpos + 1, myFilePath.length() - slashpos);
else
cout << myFilePath;
Если вам нужно было извлечь имя файла и использовать его позже, вместо того, чтобы просто напечатать его сразу, то Берт-Яна или Ксавье ответы были бы хорошими.