Delphi - 在程序中存储 WideStrings
过去我使用 INI 文件来存储 unicode 文本,但现在我需要在可执行文件中存储 unicode 文本。我怎样才能做到这一点? 我想存储这些字母: āčēūīš…
如何从 C# 调用这个 Delphi 函数?
我在从 C# 调用 delphi 函数时遇到问题(尝试读取或写入受保护的内存),并且想知道调用该方法的正确方法应该是什么。 Delphi 函数签名如下: procedu…
boost测试是否支持宽字符串?
我只是使用 BOOST_TEST_MESSAGE(L"blah") ,唯一打印出来的是十六进制值,例如 0x12345678。我是否缺少某些配置?我用的是boost 1.44。…
如何使固定长度的 Delphi 字符串使用宽字符?
在 Delphi 2010 下(也可能在 D2009 下),默认字符串类型是 UnicodeString。 但是,如果我们声明... const s :string = 'Test'; ss :string[4] = 'Te…
如何从 COM 服务器返回 WideString?
_TLB.pas 文件中的此接口 // *********************************************************************// // Interface: ITMyCOM // Flags: (256) Ole…
使用 send(sock, wszBuffer, ...) 发送 TCHAR 缓冲区?
我有一条宽字符 XML 消息,需要通过 C++ 中的 Win32 套接字发送。 TCHAR wszBuffer[1024]; 我应该在发送之前将宽字符缓冲区 sprintf(szSendBuffer, "%…
为什么 wstring::c_str 如果没有正确删除不会导致内存泄漏
代码段 1: wchar_t *aString() { wchar_t *str = new wchar[5]; wcscpy(str, "asdf\0"); return str; } wchar_t *value1 = aString(); 代码段 2 wstr…
什么会导致 SysFreeString 遇到 Int 3 断点?
我有一些代码在 Delphi 2007 下运行良好,但在 D2010 下崩溃。它涉及传入一个字符串,将其转换为 PWideChar(具体来说,是 WideString 指针,而不是 U…
C++:宽字符输出不正确?
我的代码基本上是这样的: wstring japan = L"日本"; wstring message = L"Welcome! Japan is "; message += japan; wprintf(message.c_str()); 我希…
C++在 Visual Studio 2005 上使用 TCHAR 进行模板函数专业化
我正在编写一个使用模板化运算符<<的日志记录类功能。我将模板函数专门用于宽字符字符串,以便在编写日志消息之前可以进行一些从宽到窄的转换。我无法…
sprintf 何时以及为何会失败?
我正在使用 swprintf 将字符串构建到缓冲区中(使用循环等)。 const int MaxStringLengthPerCharacter = 10 + 1; wchar_t* pTmp = pBuffer; for ( si…
GCC 下的 2 字节 (UCS-2) 宽字符串
当将我的 Visual C++ 项目移植到 GCC 时,我发现 wchar_t 数据类型默认为 4 字节 UTF-32。我可以使用编译器选项覆盖它,但 RTL 的整个 wcs*(wcslen、…
Delphi 2010 宽函数与字符串函数
我们目前正在将 Delphi 2007 项目转换为 Delphi 2010。我们已经在使用 Unicode(通过 WideStrings 和 TNT Unicode Controls)。 我原本希望将所有 Wid…