c-bata web

@c_bata_ のメモ。python多め

ファイル名に拡張子がついているか調べる方法。[C言語]

今作っているソフトウェアでユーザが入力した保存ファイル名に拡張子がついていなければ,プログラム側でつける必要があったので、その方法をメモ。

マッチング処理なので正規表現でやろうかと思ったけど、C言語正規表現を使う方法がよく分からなかったためstrcmp関数で実装。

ソースコード

#include <stdio.h>
#include <string.h>

// s1の最後の部分がs2と一致したら1を返す。
int *StrString(const char *s1, const char *s2)
{
    //文字列s1のEOSから文字列s2の長さ分取り出す。
    s1 += strlen(s1)-strlen(s2);
    if(strcmp(s1, s2) == 0){ 
        return 1;
    }else{
        return 0;
    }   
}

void main(void)
{
    char *s1 = "aiueo.pdf";
    char *s2 = ".pdf";

    if(StrString(s1,s2)==1){
        printf("拡張子\"%s\"はついています。\n",s2);
    }else{
        printf("拡張子\"%s\"はついていません。\n",s2);
    }   
}

実行結果

拡張子".pdf"はついています。