【C言語】ファイル名から拡張子だけを取得する方法

この記事では、C言語でファイル名から拡張子を取得する方法を紹介します。

これにより、プログラミング初心者の方でも簡単にファイル名から拡張子を取得することができるようになります。

目次から探す

ファイル名から拡張子を取得する方法

C言語で拡張子を取得する方法はいくつかの方法がありますが、ここではstrrchr関数を使った方法を紹介します。

strrchr関数は、指定した文字列内で最後に現れる指定した文字を探し、その位置を返す関数です。

この関数を使うことで、ファイル名から拡張子を取得することができます。

以下に、strrchr関数を使ったファイル名から拡張子を取得するサンプルコードを示します。


#include <stdio.h>
#include <string.h>
int main() {
    char filename[] = "sample.txt";
    char *extension;
    extension = strrchr(filename, '.');
    if (extension != NULL) {
        printf("拡張子: %s\n", extension + 1);
    } else {
        printf("拡張子が見つかりませんでした。\n");
    }
    return 0;
}

上記のコードでは、strrchr関数を使ってfilenameから最後に現れる.の位置を取得し、その位置から後ろの文字列を拡張子として表示しています。

もし拡張子が見つからない場合は、NULLが返されるため、それを判定してメッセージを表示しています。

上記のコードを実行すると、以下のような結果が得られます。

拡張子: txt

目次から探す