そんな暮らしを目指しています。
放置中のサイトtacoworks.jpもどうぞ。
id:logion:20041222#p1 や id:logion:20051128#p1 でも書いたようにすげー心待ちにしていていた C++Builder2006J ですが、昨年末にバージョンアップ版が届きました。年明けの Update1 も当てて移行の準備も万端なはず…なのですが、ちょっと気になる点があってまだ移行していませんでした。
それは、C++Builder6J の頃から気になっていた文字列の処理についてです。
パスやファイル名を操作する自作ライブラリにおいて、、それまでは std::string (char) を使っていて、日本語ファイル名の事については(自分自身が使わないという理由で)特に気にしていませんでした。しかし、id:logion:20050706#p1 や id:logion:20050912 のような事態に遭遇してからはUnicode を使うように宗旨変えし、std::wstring (wchar_t) に書き変えていました。
この Unicode 版の自作ライブラリを C++Builder2006 でコンパイルした所、問題が発生しました。id:logion:20050912 のように std::locale を使うコードは、(C++Builder6J では問題なく動いていましたが) C++Builder2006 ではlocale の生成時に例外が飛んでくるようになっていたのです。
どうも locale 名の "ja_JP.sjis" がマズいらしいのですが、正しい locale 名というものを知りません。試行錯誤でとりあえず "japanese" ではちゃんと生成できていましたが…。
ということで、調べてみました。(長いのでいったん切ります)
まず locale 名にどのようなものがあるのか全然知らなかったので、google 等でそれっぽい文字列をかき集めて以下を試してみました。
ロケール文字列 | bcb6(C++Builder6J) | bcb10(C++Builder2006J) | vc71(VisualStudio.NET2003) | vc8(VisualStudio2005) |
---|---|---|---|---|
ja_JP | NULL | NULL | NULL | NULL |
ja_JP.SJIS | NULL | NULL | NULL | NULL |
ja_JP.sjis | NULL | NULL | NULL | NULL |
ja_JP.EUC | NULL | NULL | NULL | NULL |
ja_JP.eucJP | NULL | NULL | NULL | NULL |
ja_JP.utf8 | NULL | NULL | NULL | NULL |
japanese | Japanese_Japan.932 | Japanese_Japan.932 | Japanese_Japan.932 | Japanese_Japan.932 |
japanese_JAPAN | Japanese_Japan.932 | Japanese_Japan.932 | Japanese_Japan.932 | Japanese_Japan.932 |
japanese_JAPAN.932 | Japanese_Japan.932 | Japanese_Japan.932 | Japanese_Japan.932 | Japanese_Japan.932 |
Japanese_Japan.932 | Japanese_Japan.932 | Japanese_Japan.932 | Japanese_Japan.932 | Japanese_Japan.932 |
Japanese_Japan.20932 | Japanese_Japan.20932 | Japanese_Japan.20932 | Japanese_Japan.20932 | Japanese_Japan.20932 |
JAPANESE_JAPAN.JA16SJIS | Japanese_Japan.0 | Japanese_Japan.0 | NULL | NULL |
japanese_Japan.ja16sjis | Japanese_Japan.0 | Japanese_Japan.0 | NULL | NULL |
japanese_Japan.ja16euc | Japanese_Japan.0 | Japanese_Japan.0 | NULL | NULL |
Japanese_Japan.UTF8 | Japanese_Japan.0 | Japanese_Japan.0 | NULL | NULL |
ja_JP.eucJP | NULL | NULL | NULL | NULL |
ja_JP.ujis | NULL | NULL | NULL | NULL |
ja_JP.EUC | NULL | NULL | NULL | NULL |
japanese.euc | Japanese_Japan.0 | Japanese_Japan.0 | NULL | NULL |
Japanese-EUC | Japanese_Japan.932 | Japanese_Japan.932 | Japanese_Japan.932 | NULL |
ja | NULL | NULL | Japanese_Japan.932 | NULL |
jpn | Japanese_Japan.932 | Japanese_Japan.932 | Japanese_Japan.932 | Japanese_Japan.932 |
japan | NULL | NULL | Japanese_Japan.932 | NULL |
C-SJIS | NULL | NULL | Catalan_Spain.1252 | NULL |
de_DE | German_Germany.850 | German_Germany.850 | NULL | NULL |
de_DE@euro | German_Germany.850 | German_Germany.850 | NULL | NULL |
de_DE | German_Germany.850 | German_Germany.850 | NULL | NULL |
de | NULL | NULL | NULL | NULL |
ge | NULL | NULL | German_Germany.1252 | NULL |
en_EN | NULL | NULL | NULL | NULL |
English_USA.1252 | NULL | NULL | English_United States.1252 | English_United States.1252 |
French_France.1252 | French_France.1252 | French_France.1252 | French_France.1252 | French_France.1252 |
French_Canada.ACP | French_Canada.0 | French_Canada.0 | French_Canada.1252 | French_Canada.1252 |
French_Canada.OCP | French_Canada.0 | French_Canada.0 | French_Canada.850 | French_Canada.850 |
de_DE.iso88591 | German_Germany.0 | German_Germany.0 | NULL | NULL |
de_DE.ISO-8859-1 | German_Germany.0 | German_Germany.0 | NULL | NULL |
chinese | Chinese_Taiwan.950 | Chinese_Taiwan.950 | Chinese_Taiwan.950 | Chinese_Taiwan.950 |
chinese-simplified | Chinese_Taiwan.950 | Chinese_Taiwan.950 | Chinese_Taiwan.950 | Chinese_People's Republic of China.936 |
chinese-traditional | Chinese_Taiwan.950 | Chinese_Taiwan.950 | Chinese_Taiwan.950 | Chinese_Taiwan.950 |
czech | Czech_Czech Republic.852 | Czech_Czech Republic.852 | Czech_Czech Republic.1250 | Czech_Czech Republic.1250 |
danish | Danish_Denmark.850 | Danish_Denmark.850 | Danish_Denmark.1252 | Danish_Denmark.1252 |
dutch | Dutch_Netherlands.850 | Dutch_Netherlands.850 | Dutch_Netherlands.1252 | Dutch_Netherlands.1252 |
dutch-belgian | Dutch_Netherlands.850 | Dutch_Netherlands.850 | Dutch_Netherlands.1252 | Dutch_Belgium.1252 |
belgian | Belarusian_Belarus.866 | Belarusian_Belarus.866 | Dutch_Belgium.1252 | Dutch_Belgium.1252 |
english | English_United States.437 | English_United States.437 | English_United States.1252 | English_United States.1252 |
english-aus | English_United States.437 | English_United States.437 | English_United States.1252 | English_Australia.1252 |
australian | NULL | NULL | English_Australia.1252 | English_Australia.1252 |
canadian | NULL | NULL | English_Canada.1252 | English_Canada.1252 |
english-can | English_United States.437 | English_United States.437 | English_United States.1252 | English_Canada.1252 |
english-nz | English_United States.437 | English_United States.437 | English_United States.1252 | English_New Zealand.1252 |
english-uk | English_United States.437 | English_United States.437 | English_United States.1252 | English_United Kingdom.1252 |
uk | NULL | NULL | Ukrainian_Ukraine.1251 | English_United Kingdom.1252 |
american | NULL | NULL | English_United States.1252 | English_United States.1252 |
american english | English_United States.437 | English_United States.437 | English_United States.1252 | English_United States.1252 |
american-english | English_United States.437 | English_United States.437 | English_United States.1252 | English_United States.1252 |
english-american | English_United States.437 | English_United States.437 | English_United States.1252 | English_United States.1252 |
english-us | English_United States.437 | English_United States.437 | English_United States.1252 | English_United States.1252 |
english-usa | English_United States.437 | English_United States.437 | English_United States.1252 | English_United States.1252 |
us | NULL | NULL | English_United States.1252 | English_United States.1252 |
finnish | Finnish_Finland.850 | Finnish_Finland.850 | Finnish_Finland.1252 | Finnish_Finland.1252 |
french | French_France.850 | French_France.850 | French_France.1252 | French_France.1252 |
french-belgian | French_France.850 | French_France.850 | French_France.1252 | French_Belgium.1252 |
french-canadian | French_France.850 | French_France.850 | French_France.1252 | French_Canada.1252 |
french-swiss | French_France.850 | French_France.850 | French_France.1252 | French_Switzerland.1252 |
german | German_Germany.850 | German_Germany.850 | German_Germany.1252 | German_Germany.1252 |
german-austrian | German_Germany.850 | German_Germany.850 | German_Germany.1252 | German_Austria.1252 |
swiss | NULL | NULL | German_Switzerland.1252 | German_Switzerland.1252 |
german-swiss | German_Germany.850 | German_Germany.850 | German_Germany.1252 | German_Switzerland.1252 |
greek | Greek_Greece.737 | Greek_Greece.737 | Greek_Greece.1253 | Greek_Greece.1253 |
hungarian | Hungarian_Hungary.852 | Hungarian_Hungary.852 | Hungarian_Hungary.1250 | Hungarian_Hungary.1250 |
icelandic | Icelandic_Iceland.850 | Icelandic_Iceland.850 | Icelandic_Iceland.1252 | Icelandic_Iceland.1252 |
italian | Italian_Italy.850 | Italian_Italy.850 | Italian_Italy.1252 | Italian_Italy.1252 |
italian-swiss | Italian_Italy.850 | Italian_Italy.850 | Italian_Italy.1252 | Italian_Switzerland.1252 |
japanese | Japanese_Japan.932 | Japanese_Japan.932 | Japanese_Japan.932 | Japanese_Japan.932 |
korean | Korean_Korea.949 | Korean_Korea.949 | Korean_Korea.949 | Korean_Korea.949 |
norwegian | Norwegian (Bokm虱)_Norway.850 | Norwegian (Bokm虱)_Norway.850 | Norwegian (Bokm虱)_Norway.1252 | Norwegian (Bokm虱)_Norway.1252 |
norwegian-bokmal | Norwegian (Bokm虱)_Norway.850 | Norwegian (Bokm虱)_Norway.850 | Norwegian (Bokm虱)_Norway.1252 | Norwegian (Bokm虱)_Norway.1252 |
norwegian-nynorsk | Norwegian (Bokm虱)_Norway.850 | Norwegian (Bokm虱)_Norway.850 | Norwegian (Bokm虱)_Norway.1252 | Norwegian-Nynorsk_Norway.1252 |
polish | Polish_Poland.852 | Polish_Poland.852 | Polish_Poland.1250 | Polish_Poland.1250 |
portuguese | Portuguese_Brazil.850 | Portuguese_Brazil.850 | Portuguese_Brazil.1252 | Portuguese_Brazil.1252 |
portuguese-brazilian | Portuguese_Brazil.850 | Portuguese_Brazil.850 | Portuguese_Brazil.1252 | Portuguese_Brazil.1252 |
russian | Russian_Russia.866 | Russian_Russia.866 | Russian_Russia.1251 | Russian_Russia.1251 |
slovak | Slovak_Slovakia.852 | Slovak_Slovakia.852 | Slovak_Slovakia.1250 | Slovak_Slovakia.1250 |
spanish | Spanish_Spain.850 | Spanish_Spain.850 | Spanish_Spain.1252 | Spanish_Spain.1252 |
spanish-mexican | Spanish_Spain.850 | Spanish_Spain.850 | Spanish_Spain.1252 | Spanish_Mexico.1252 |
spanish-modern | Spanish_Spain.850 | Spanish_Spain.850 | Spanish_Spain.1252 | Spanish_Spain.1252 |
swedish | Swedish_Sweden.850 | Swedish_Sweden.850 | Swedish_Sweden.1252 | Swedish_Sweden.1252 |
turkish | Turkish_Turkey.857 | Turkish_Turkey.857 | Turkish_Turkey.1254 | Turkish_Turkey.1254 |
chs | NULL | NULL | Chinese_People's Republic of China.936 | Chinese_People's Republic of China.936 |
cht | Chinese_Taiwan.950 | Chinese_Taiwan.950 | Chinese_Taiwan.950 | Chinese_Taiwan.950 |
csy | Czech_Czech Republic.852 | Czech_Czech Republic.852 | Czech_Czech Republic.1250 | Czech_Czech Republic.1250 |
dan | Danish_Denmark.850 | Danish_Denmark.850 | Danish_Denmark.1252 | Danish_Denmark.1252 |
nld | Dutch_Netherlands.850 | Dutch_Netherlands.850 | Dutch_Netherlands.1252 | Dutch_Netherlands.1252 |
nlb | NULL | NULL | Dutch_Belgium.1252 | Dutch_Belgium.1252 |
ena | NULL | NULL | English_Australia.1252 | English_Australia.1252 |
enc | NULL | NULL | English_Canada.1252 | English_Canada.1252 |
enz | NULL | NULL | English_New Zealand.1252 | English_New Zealand.1252 |
eng | NULL | NULL | English_United Kingdom.1252 | English_United Kingdom.1252 |
enu | English_United States.437 | English_United States.437 | English_United States.1252 | English_United States.1252 |
usa | NULL | NULL | English_United States.1252 | English_United States.1252 |
fin | Finnish_Finland.850 | Finnish_Finland.850 | Finnish_Finland.1252 | Finnish_Finland.1252 |
fra | French_France.850 | French_France.850 | French_France.1252 | French_France.1252 |
frb | NULL | NULL | French_Belgium.1252 | French_Belgium.1252 |
frc | NULL | NULL | French_Canada.1252 | French_Canada.1252 |
frs | NULL | NULL | French_Switzerland.1252 | French_Switzerland.1252 |
deu | German_Germany.850 | German_Germany.850 | German_Germany.1252 | German_Germany.1252 |
dea | NULL | NULL | German_Austria.1252 | German_Austria.1252 |
des | NULL | NULL | German_Switzerland.1252 | German_Switzerland.1252 |
ell | Greek_Greece.737 | Greek_Greece.737 | Greek_Greece.1253 | Greek_Greece.1253 |
hun | Hungarian_Hungary.852 | Hungarian_Hungary.852 | Hungarian_Hungary.1250 | Hungarian_Hungary.1250 |
isl | Icelandic_Iceland.850 | Icelandic_Iceland.850 | Icelandic_Iceland.1252 | Icelandic_Iceland.1252 |
ita | Italian_Italy.850 | Italian_Italy.850 | Italian_Italy.1252 | Italian_Italy.1252 |
its | NULL | NULL | Italian_Switzerland.1252 | Italian_Switzerland.1252 |
kor | Korean_Korea.949 | Korean_Korea.949 | Korean_Korea.949 | Korean_Korea.949 |
nor | Norwegian (Bokm虱)_Norway.850 | Norwegian (Bokm虱)_Norway.850 | Norwegian (Bokm虱)_Norway.1252 | Norwegian (Bokm虱)_Norway.1252 |
non | NULL | NULL | Norwegian-Nynorsk_Norway.1252 | Norwegian-Nynorsk_Norway.1252 |
plk | Polish_Poland.852 | Polish_Poland.852 | Polish_Poland.1250 | Polish_Poland.1250 |
ptg | NULL | NULL | Portuguese_Portugal.1252 | Portuguese_Portugal.1252 |
ptb | Portuguese_Brazil.850 | Portuguese_Brazil.850 | Portuguese_Brazil.1252 | Portuguese_Brazil.1252 |
rus | Russian_Russia.866 | Russian_Russia.866 | Russian_Russia.1251 | Russian_Russia.1251 |
sky | Slovak_Slovakia.852 | Slovak_Slovakia.852 | Slovak_Slovakia.1250 | Slovak_Slovakia.1250 |
esp | Spanish_Spain.850 | Spanish_Spain.850 | Spanish_Spain.1252 | Spanish_Spain.1252 |
esm | NULL | NULL | Spanish_Mexico.1252 | Spanish_Mexico.1252 |
esn | NULL | NULL | Spanish_Spain.1252 | Spanish_Spain.1252 |
sve | Swedish_Sweden.850 | Swedish_Sweden.850 | Swedish_Sweden.1252 | Swedish_Sweden.1252 |
trk | Turkish_Turkey.857 | Turkish_Turkey.857 | Turkish_Turkey.1254 | Turkish_Turkey.1254 |
ロケール文字列 | bcb6(C++Builder6J) | bcb10(C++Builder2006J) | vc71(VisualStudio.NET2003) | vc8(VisualStudio2005) |
---|---|---|---|---|
ja_JP | Succeeded | Failed: bad locale name | Failed: bad locale name | Failed: bad locale name |
ja_JP.SJIS | Succeeded | AccessViolation | Failed: bad locale name | Failed: bad locale name |
ja_JP.sjis | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
ja_JP.EUC | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
ja_JP.eucJP | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
ja_JP.utf8 | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
japanese | Succeeded | -- | Succeeded | Succeeded |
japanese_JAPAN | Succeeded | -- | Succeeded | Succeeded |
japanese_JAPAN.932 | Succeeded | -- | Succeeded | Succeeded |
Japanese_Japan.932 | Succeeded | -- | Succeeded | Succeeded |
Japanese_Japan.20932 | Succeeded | -- | Succeeded | Succeeded |
JAPANESE_JAPAN.JA16SJIS | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
japanese_Japan.ja16sjis | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
japanese_Japan.ja16euc | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
Japanese_Japan.UTF8 | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
ja_JP.eucJP | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
ja_JP.ujis | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
ja_JP.EUC | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
japanese.euc | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
Japanese-EUC | Succeeded | -- | Succeeded | Failed: bad locale name |
ja | Succeeded | -- | Succeeded | Failed: bad locale name |
jpn | Succeeded | -- | Succeeded | Succeeded |
japan | Succeeded | -- | Succeeded | Failed: bad locale name |
C-SJIS | Succeeded | -- | Succeeded | Failed: bad locale name |
de_DE | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
de_DE@euro | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
de_DE | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
de | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
ge | Succeeded | -- | Succeeded | Failed: bad locale name |
en_EN | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
English_USA.1252 | Succeeded | -- | Succeeded | Succeeded |
French_France.1252 | Succeeded | -- | Succeeded | Succeeded |
French_Canada.ACP | Succeeded | -- | Succeeded | Succeeded |
French_Canada.OCP | Succeeded | -- | Succeeded | Succeeded |
de_DE.iso88591 | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
de_DE.ISO-8859-1 | Succeeded | -- | Failed: bad locale name | Failed: bad locale name |
chinese | Succeeded | -- | Succeeded | Succeeded |
chinese-simplified | Succeeded | -- | Succeeded | Succeeded |
chinese-traditional | Succeeded | -- | Succeeded | Succeeded |
czech | Succeeded | -- | Succeeded | Succeeded |
danish | Succeeded | -- | Succeeded | Succeeded |
dutch | Succeeded | -- | Succeeded | Succeeded |
dutch-belgian | Succeeded | -- | Succeeded | Succeeded |
belgian | Succeeded | -- | Succeeded | Succeeded |
english | Succeeded | -- | Succeeded | Succeeded |
english-aus | Succeeded | -- | Succeeded | Succeeded |
australian | Succeeded | -- | Succeeded | Succeeded |
canadian | Succeeded | -- | Succeeded | Succeeded |
english-can | Succeeded | -- | Succeeded | Succeeded |
english-nz | Succeeded | -- | Succeeded | Succeeded |
english-uk | Succeeded | -- | Succeeded | Succeeded |
uk | Succeeded | -- | Succeeded | Succeeded |
american | Succeeded | -- | Succeeded | Succeeded |
american english | Succeeded | -- | Succeeded | Succeeded |
american-english | Succeeded | -- | Succeeded | Succeeded |
english-american | Succeeded | -- | Succeeded | Succeeded |
english-us | Succeeded | -- | Succeeded | Succeeded |
english-usa | Succeeded | -- | Succeeded | Succeeded |
us | Succeeded | -- | Succeeded | Succeeded |
finnish | Succeeded | -- | Succeeded | Succeeded |
french | Succeeded | -- | Succeeded | Succeeded |
french-belgian | Succeeded | -- | Succeeded | Succeeded |
french-canadian | Succeeded | -- | Succeeded | Succeeded |
french-swiss | Succeeded | -- | Succeeded | Succeeded |
german | Succeeded | -- | Succeeded | Succeeded |
german-austrian | Succeeded | -- | Succeeded | Succeeded |
swiss | Succeeded | -- | Succeeded | Succeeded |
german-swiss | Succeeded | -- | Succeeded | Succeeded |
greek | Succeeded | -- | Succeeded | Succeeded |
hungarian | Succeeded | -- | Succeeded | Succeeded |
icelandic | Succeeded | -- | Succeeded | Succeeded |
italian | Succeeded | -- | Succeeded | Succeeded |
italian-swiss | Succeeded | -- | Succeeded | Succeeded |
japanese | Succeeded | -- | Succeeded | Succeeded |
korean | Succeeded | -- | Succeeded | Succeeded |
norwegian | Succeeded | -- | Succeeded | Succeeded |
norwegian-bokmal | Succeeded | -- | Succeeded | Succeeded |
norwegian-nynorsk | Succeeded | -- | Succeeded | Succeeded |
polish | Succeeded | -- | Succeeded | Succeeded |
portuguese | Succeeded | -- | Succeeded | Succeeded |
portuguese-brazilian | Succeeded | -- | Succeeded | Succeeded |
russian | Succeeded | -- | Succeeded | Succeeded |
slovak | Succeeded | -- | Succeeded | Succeeded |
spanish | Succeeded | -- | Succeeded | Succeeded |
spanish-mexican | Succeeded | -- | Succeeded | Succeeded |
spanish-modern | Succeeded | -- | Succeeded | Succeeded |
swedish | Succeeded | -- | Succeeded | Succeeded |
turkish | Succeeded | -- | Succeeded | Succeeded |
chs | Succeeded | -- | Succeeded | Succeeded |
cht | Succeeded | -- | Succeeded | Succeeded |
csy | Succeeded | -- | Succeeded | Succeeded |
dan | Succeeded | -- | Succeeded | Succeeded |
nld | Succeeded | -- | Succeeded | Succeeded |
nlb | Succeeded | -- | Succeeded | Succeeded |
ena | Succeeded | -- | Succeeded | Succeeded |
enc | Succeeded | -- | Succeeded | Succeeded |
enz | Succeeded | -- | Succeeded | Succeeded |
eng | Succeeded | -- | Succeeded | Succeeded |
enu | Succeeded | -- | Succeeded | Succeeded |
usa | Succeeded | -- | Succeeded | Succeeded |
fin | Succeeded | -- | Succeeded | Succeeded |
fra | Succeeded | -- | Succeeded | Succeeded |
frb | Succeeded | -- | Succeeded | Succeeded |
frc | Succeeded | -- | Succeeded | Succeeded |
frs | Succeeded | -- | Succeeded | Succeeded |
deu | Succeeded | -- | Succeeded | Succeeded |
dea | Succeeded | -- | Succeeded | Succeeded |
des | Succeeded | -- | Succeeded | Succeeded |
ell | Succeeded | -- | Succeeded | Succeeded |
hun | Succeeded | -- | Succeeded | Succeeded |
isl | Succeeded | -- | Succeeded | Succeeded |
ita | Succeeded | -- | Succeeded | Succeeded |
its | Succeeded | -- | Succeeded | Succeeded |
kor | Succeeded | -- | Succeeded | Succeeded |
nor | Succeeded | -- | Succeeded | Succeeded |
non | Succeeded | -- | Succeeded | Succeeded |
plk | Succeeded | -- | Succeeded | Succeeded |
ptg | Succeeded | -- | Succeeded | Succeeded |
ptb | Succeeded | -- | Succeeded | Succeeded |
rus | Succeeded | -- | Succeeded | Succeeded |
sky | Succeeded | -- | Succeeded | Succeeded |
esp | Succeeded | -- | Succeeded | Succeeded |
esm | Succeeded | -- | Succeeded | Succeeded |
esn | Succeeded | -- | Succeeded | Succeeded |
sve | Succeeded | -- | Succeeded | Succeeded |
trk | Succeeded | -- | Succeeded | Succeeded |
C++Builder2006 の Access Violation というのは、locale オブジェクトの生成に失敗して例外を返した後、別のロケール名で再度生成しようとすると今度はAccess Violation を起こして落ちてしまった、というものです。これってなんかバグっぽいですね…。