#include <string>
using namespace std;
int main()
{
string filename1 = "namefile.txt";
string filename2 = filename1.substr(0, filename1.length() - 3) + "flg";
string filename3 = filename1.substr(0, filename1.length() - 3) + "avi";
}
Работа состроками
Как сделать красиво? Какие функции использовать
Есть строка
namefile.txt
чтоб в переменую A получить namefile
потом x=a+".flg";
а y=a+".avi";
Как правильно делается?
Код:
Цитата: Ghox
Код:
#include <string>
using namespace std;
int main()
{
string filename1 = "namefile.txt";
string filename2 = filename1.substr(0, filename1.length() - 3) + "flg";
string filename3 = filename1.substr(0, filename1.length() - 3) + "avi";
}
using namespace std;
int main()
{
string filename1 = "namefile.txt";
string filename2 = filename1.substr(0, filename1.length() - 3) + "flg";
string filename3 = filename1.substr(0, filename1.length() - 3) + "avi";
}
А если со временем "namefile.txt" изменится на ""namefile.in", а то и вообще будет юзверем вводится. find_last_of кошернее.
upd.: Чего-то я придираюсь. :)
Цитата: nikitozz
А если со временем "namefile.txt" изменится на ""namefile.in", а то и вообще будет юзверем вводится. find_last_of кошернее.
upd.: Чего-то я придираюсь. :)
upd.: Чего-то я придираюсь. :)
Ну в общем случае конечно да - если расширение может быть любой длины то надо что-то вроде find_last_of использовать (а также корректно обрабатывать случай когда расширения вообще нет). Но автор такого требования не выдвигал, по крайней мере я так понял. Потому и дал такой пример. Если нужен общий вариант - то пусть он это уточняет, а по хорошему - пусть сам читает про string и что в нём можно делать :)
Цитата: kleon
namefile.txt
чтоб в переменую A получить namefile
?
Код:
AnsiString file_name = file.SubString(0,file.LastDelimiter("."));
попробуй так
Цитата:
ExtractFileExt
Returns the extension portions of a file name.
ExtractFileName
Extracts the name and extension parts of a file name.
Returns the extension portions of a file name.
ExtractFileName
Extracts the name and extension parts of a file name.
а это не подойдет ? ;)
Код:
x = ChangeFileExt("namefile.txt", ".flg");
y = ChangeFileExt("namefile.txt", ".avi");
y = ChangeFileExt("namefile.txt", ".avi");
Если я верно понял что требуется