**:
場景:1. 通常生成檔案時需要乙個檔名,而生成檔名的方式可能是通過使用者輸入的字元,但是有些字元在windows上是不能作為檔名的,強行建立這類檔案會失敗。
2.一般可以通過正規表示式替換所有的非法字元,這裡實現的是c++98 template(模板)方式的替換無效字元,std::string,std::wstring. 基本上windows上和字串打交道都離不開wstring.
1 template2void filterinvalidfilenamechar(t&str)322
}23}
1 inline char* unicode2ansi(const wchar_t*unicode)呼叫:2
1 std::wstring wss(l"輸出:/asfasdf中國asdfas*dfa.txt");
2filterinvalidfilenamechar(wss);
3 cout << unicode2ansi(wss.c_str()) <
45 std::string ss("
/asfasdf\\asdfas*dfa.txt");
6filterinvalidfilenamechar(ss);
7 cout << ss.c_str() << endl;
_asfasdf中國asdfas_dfa.txtview code_asfasdf_asdfas_dfa.txt
檔名的過濾器
判斷某個目錄下是否是某種檔案型別的另外一種思路 在存進陣列之前就先判斷好 這就需要用到檔名過濾器 方法 public string list filenamefilter filter public file listfiles filenamefilter filter filenamefilte...
windows批量修改檔名或去掉檔名中的字串
複製下面 到乙個txt文字中,將字尾名修改為bat,雙擊執行即可。操作方式如下圖 這裡我去掉了新建兩個字。注意編碼問題,如果開啟是亂碼,請先檢視cmd的屬性,然後將文字儲存為對應字元編碼。複製下方 echo off set p str1 請輸入要替換的檔案 資料夾 名字串 可替換空格 set p s...
檔名過濾器 檔案過濾器
ublic class filenamefileerdemo implements filenamefilter return false implements filenamefilter 必須繼承implements public string list 將目錄下的子目錄及檔案的名字,返回到st...