1

我有一些奇怪的问题,不知道如何解决。

设置:- 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”没有任何结果..

我觉得一些构建设置造成了这个问题。但是,找不到相同的。Qt 描述我继续阅读并发现类似这样的内容“请注意,尽管名称如此,但此函数实际上使用定义的编解码器QTextCodec::setCodecForCStrings()将 str 转换为 Unicode。根据编解码器的不同,它可能不接受有效US-ASCII (ANSI X3.4-1986)输入。如果未设置编解码器,此功能与 ." 相同fromLatin1()

所以,我想了解这实际上意味着什么或者我在这里缺少什么???

4

1 回答 1

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

您是否尝试过自己传递尺寸?

于 2015-02-06T04:12:39.877 回答