まず、Boostやその他の外部ライブラリを使用したくありません。私はちょうどC++標準ライブラリを使いたいと思う。私は簡単に私のsplit()
機能で指定した区切り文字で文字列を分割することができます。C++ - ファイル名とファイル拡張子の分割
void split(std::string &string, std::vector<std::string> &tokens, const char &delim) {
std::string ea;
std::stringstream stream(string);
while(getline(stream, ea, delim))
tokens.push_back(ea);
}
私はファイル名でこれを行います。しかし問題があります。拡張子がtar.gz
,tar.bz2
などのファイルもあります。また、余分なドットを含むファイル名もあります。 Some.file.name.tar.gz
。 Some.file.name
とtar.gz
注:ファイル名のドット数は一定ではありません。
私もPathFindExtension
が、運を試してみました。これは可能ですか?もしそうなら、私に教えてください。ありがとうございました。
編集:OSを指定しないのは大変残念です。それはWindowsだ。
あなたは、唯一のC++標準ライブラリを使用したい 'PathFindExtension' ... –