一. locale
一个流在初始化时将隐式地使用全局locale, 而初始时候的全局locale就是标准的”C”模式locale::classic()
在VC与中文版xp下, 也是这样。

二. 静态函数locale::global(newloc) 可设置newloc为全局locale,并且返回以前的全局locale,可将之保存起来
以后恢复, 随时要记得恢复这点很重要。
locale newloc(“”); //在简体中文xp系统上等价于”.936″
locale& oldloc = locale::global(newloc);

locale::global(oldloc);

纯API方式下用
setlocale(LC_ALL,”C”);
setlocale(LC_ALL,”.936″); 也可以用 setlocale(LC_ALL, “”);

三. Bjarne Stroustrup提到用locale::global(x)的时候将同时设置全局locale,但我在VC中混用API
和stl的来设置locale时候有些微小的差别,所以今后要注意最好成对地设置,也就是用API去设置,以后恢复也用
API来做,相应地,用stl类locale去设置,也用同样的类去恢复回来。

C++
2008-01-06 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *