我继承了一个旧的Borland C++ Builder应用程序,现在我必须迁移到一个新的开发工具.建议的方法是使用Embarcadero C++ Builder,从我最初的测试看,它似乎是一个相当平滑的过渡.
但我有一个问题,我希望有一个简单的解决方案:
该应用程序解析大量的文本文件.这些文件都是基于ANSI的,并且永远不会改变,因此它是ANSI输入和ANSI输出.我string遇到的主要问题是,使用Embarcadero C++,类型现在是一个UnicodeString而不是AnsiString(就像在Borland C++ Builder中一样).
在此应用程序中使用Unicode不是一个选项 - 它使用的文件是ANSI格式的.修改要使用的代码AnsiString(和类似的代码)是可行的,但我不愿意,因为它使用了很多TStringList(和类似的)构造.
所以我的问题是:是否有一个设置或编译器选项或者我可以用来告诉Embarcadero System.AnsiString用作定义string而不是System.UnicodeString?
这可能是一个长镜头,但是RAD Studio XE(我借用它来做一些测试的旧版本)文档说" 默认情况下,类型string现在是一个Unicode字符串",这意味着这可以是改变.然而,这在当前版本(XE8)的文档中被重新描述,所以......
我对matlab的了解非常有限,所以我将使用更一般的术语来解释我的问题:
我们有一个记录系统,可以实时对嵌入式系统中的变量进行采样,并将记录的数据作为matlab文件进行分析.
我的问题是,如果记录的变量是"双"(更具体地说是64位,IEEE 754-1985,浮点值),结果将作为两个无符号32位整数传递,我不知道如何在matlab中将其转换回浮点值.
例如,如果我记录变量SomeFloat,这是一个双,我将记录的数据作为两组数据,SomeFloat1和SomeFloat2.两者都是无符号的32位整数.SomeFloat1包含32个最重要的位SomeFloat,和SomeFloat2包含32个最低有效位.
我希望找到一个现有的功能来转换它做一个双,我的意思是:
MyDouble = MyDreamFunction(SomeFloat1, SomeFloat2)
Run Code Online (Sandbox Code Playgroud)
我一直无法找到 MyDreamFunction,但是对matlab不熟悉,我不确定在哪里看......
那么,有没有人知道这样做的简单方法?