我有一些奇怪的问题,不知道如何解决。
设置: - Qt4.8.2和Win7平台以及IDE VS2010。
让我们假设: A.dll,包含下面描述的代码片段& B.dll,c.dll等是其他依赖的dll,它们在构建机器(TFS服务器)中使用构建脚本一起构建。直到今天都没有问题,我们注意到A.dll在使用fromAscii时遇到了一些问题( ) 如下面所描述的。但是,为了从IDE重现此错误,我无法得到同样的问题......
问题陈述:
fromAscii()
,关于它取决于什么?
代码段: -
char cache[257] = "I just want to save this now here!!!"; // For example I've simplified it here after my analysis.
QString sStore = Qstring::fromAscii(cache,-1);
“sStore”打印时没有任何结果......
我觉得有些构建设置已经造成了这个问题。但是,找不到相同的内容。我继续阅读并发现了类似的内容
“请注意,尽管有名称,但此函数实际上使用QTextCodec::setCodecForCStrings()
定义的编解码器将str转换为Unicode。根据编解码器,它可能不接受有效的US-ASCII (ANSI X3.4-1986)
输入。如果没有设置编解码器,此函数与fromLatin1()
相同。“
所以,我想了解这实际意味着什么或者我在这里缺少什么?
答案 0 :(得分:0)
对我而言,这是有效的,Qt4.7 Linux:
char buf[ 256 ] = {};
int size;
// copy data to buf no null terminated
// set size, then:
QString().fromAscii((char*)&buf[0], size));
// I'm passing qstring to function
你自己尝试过大小吗?