我用了一个别人可以显示中文的源程序,在自己机子上就不能显示。
int main( int argc, char **argv )
{
QApplication a( argc, argv );
char *string = "a中文按钮a";
printf("%s\n",string);
QTextCodec *gbk_codec = QTextCodec::codecForName("GBK");
printf("%s\n",gbk_codec);
QString gbk_string = gbk_codec->toUnicode(string);
printf("%s\n",&gbk_string);
QPushButton quit( gbk_string,0 );
quit.resize( 100, 50 );
QObject::connect( &quit, SIGNAL(clicked()), &a, SLOT(quit()) );
a.setMainWidget( &quit );
quit.show();
return a.exec();
}
以上是代码,第一行还可以打印出中文按钮4个字。到了printf("%s",gbk_codec)就是乱码了(这是否代表我没有得到GBK码?),至于printf("%s",&gbk_string)就更是乱码了。
请问printf("%s",gbk_codec)如果正确的话应该显示什么?我的问题怎么解决?
[ 此贴被XChinux在2006-05-28 08:14重新编辑 ]