Удаление подстроки из строки

У меня есть строка, которая представляет имя файла, и я хочу удалить расширение, поэтому стираю все после «.». Что будет лучшим способом? Благодарю.

-4

Решение

Ниже код может быть использован для того же ..

int npos = str.find_last_of('.');
str = str.substring(0,npos);
2

Другие решения

Если вы работаете в Windows, вам поможет следующая функция:

std::wstring StripFileExtension(std::wstring fileName)
{
WCHAR tempBuffer[MAX_PATH];

if (fileName.empty())
{
return TEXT("");
}

wcscpy(tempBuffer, fileName.c_str());
PathRemoveExtension(tempBuffer);

return tempBuffer;
}
1

Вы можете использовать std :: string и копировать каждый символ в новую строку

std::string name = "filename.jpg", newname ="";
int thelength = 0;
for(int i=name.length();i>0;i--){
if( name[i] != '.'){
thelength++;
}
else{
break;
}
}
for(int i=0;i<(name.length()-thelength);i++){
newname+=name[i];
}
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector