Last Updated 2004/01/19
Programming Tips Windows  索 引 
日本語ディレクトリ作成
2004/01/19

ディレクトリなどを作成する時に,0x5C が含まれる日本語(「表」など)だと正常に動作しない.(これは 0x5C が '\\' であるから)
"C:\表" というディレクトリ作成に失敗する.

それを避けるには,ディレクトリ名の最後が2バイト文字かつ2バイト文字の終端が '\\' であれば "\\\0" を付加する.
2バイト文字か否かは IsDBCSLeadByte() にて判断する.
(2バイト文字の判断に,1バイト目が 0x80 より大きいという判断にしてしまうと半角カナ1文字がディレクトリであった場合に誤動作する)

   ×     if( (unsigned char)(path[i]) > 0x80 ) {
   ○     if( IsDBCSLeadByte(path[i]) )

また CharNext() という API を覚えていても損はない.


参照
前後のTips
日本語ディレクトリ作成

DSS ProgrammingTipsCGI Ver2.02