//共通関数 #include "savefile.h" //終端から前方検索で見つかった境界("/"=0x2f)位置を返す //top :検索範囲の先頭指定 int GetPosDelmLast(wchar_t *s,int top) { size_t i = wcslen(s); if (i <= top)return 0; i--; while(i > top-1){ if (s[i]==L'/')return i; i--; } return 0; } //パス名チェック for SD //fs関数で引数エラー(INVALID_ARGUMENT)にならないものをチェック bool CheckPath(wchar_t *s) { int i; size_t n = wcslen(s); if ((n > 253) || (n==0))return false; if (n>251) {//ディレクトリオープン時は251まで if ((s[251]==L'/') || (s[252]==L'/'))return false; } for (i =0;i< n-1;i++) { if ((s[i-1] == ' ')||(s[i+1] == ' '))return false;//厳密にはスラッシュ前後と最後尾 if ((s[i-1] == 0x5c) ||(s[i+1] == 0x5c))return false;//0x5c = 円マーク } return true; }