问题标签 [tchar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 从 TCHAR 到 std::string 的转换,不是使用 WideCharToMultiByte?
我必须将 TCHAR 变量(使用 OpenBrowseDir 检索到的路径)转换为 std::string。我目前正在使用此代码。我正在使用 WideCharToMultiByte。
在我的项目中,TCHAR 是 wchar_t。
在 OpenBrowseDir 中,我打开了一个浏览对话框,以便用户可以选择一个目录。我正在使用变量 BROWSEINFO bi,bi.pszDisplayName 的类型为 TCHAR。
还有其他更好的解决方案吗?
c++ - TCHAR 数组的深拷贝被截断
我创建了一个类来测试我需要使用的一些功能。本质上,该类将获取传入字符串的深层副本,并通过 getter 使其可用。我正在使用 Visual Studio 2012。在项目设置中启用了 Unicode。
问题是 memcpy 操作产生了一个截断的字符串。输出是这样的;
其中第一行是对传入的 TCHAR* 字符串的检查,第二行是使用 memcpy 操作填充分配的内存的输出。预期的输出是;“测试测试 123”。
谁能解释这里有什么问题?
注意从这里得到#ifndef UNICODE typedef:how-to-convert-tchar-array-to-stdstring
c++ - TCHAR 指针初始化
我试图理解以下代码:
我知道 TCHAR 是 Char(ANSI 格式)或 wChar(Unicode 格式),基本上是一个 1 字节或 2 字节的容器,代表某些东西。
现在,如果我声明一个指向名为 portName 的 const TCHAR 的指针,那么 portName 就是一个指针。当我使用“=”符号时,我给该指针一个值,对我来说,“COM15”是地址似乎是不合理的。我假设那行代码给了我一个指向“COM15”字符串开头位置的指针,对吗?
那么那行代码中实际发生了什么?
是否正在创建一个字符串(“COM15”),并且“=”符号实际上意味着该字符串的开头位置被赋予了 portName?
c++ - _tcstok_s 中的多字符分隔符
尽管对于不同的语言有类似的问题,但我找不到这个特定问题的重复项。
我正在尝试将字符串拆分为标记,其中我的分隔符是两个字符的字符串。
我的问题是: 1. 是否可以使用 _tcstok_s 来执行此操作,因为 MSDN 说它需要一组字符作为分隔符,它将匹配任何这些字符?2. 如果用_tcstok_s 无法做到这一点,任何其他可以做到的功能。我的字符串是 TCHAR,我想尽可能多地使用内置函数。
谢谢!
c++ - 使用 ATL 将 LPTSTR 转换为 LPWSTR
假设我有这个:
我可以使用其中一个ATL 转换宏, CT2CW
,并且该函数按预期工作:
但是,如果我有这样的事情:
现在WString
不包含我期望的内容;它似乎只是包含垃圾。我确信这是一些时髦的指针业务,但我很难过。
c# - 通过streamwriter将C#字符串编组为C++ tchar
在 C++ 中,我需要一个 TCHAR 字符串 (LPTSTR)。C# StreamWriters 可以输出 ASCII、Unicode、UTF32 等...不是 TCHAR 字符串。
我不是在 C++ 中调用函数,而是通过命名管道发送字符串消息。
C#:
C++ 需要一个 TCHAR。建议?
c++ - 将 CHAR 转换为 TCHAR 的最快和优雅的方式
我通常需要将 CHAR 或 CHAR* 转换为 TCHAR 或 TCHAR*
在不使用 ATL 或其他 Microsoft 库的情况下,有没有更好、最快的方法?谢谢你。
c++ - 在 mbstowcs_s 函数 SizeInWords 参数的上下文中,单词的大小是多少?
在 Windows API 函数 mbstowcs_s 的上下文中,我很难确定 Word 的确切大小。这是来自 MSDN 的相关信息以及链接。
mbstowcs_s, _mbstowcs_s_l
将多字节字符序列转换为相应的宽字符序列。mbstowcs 的版本,_mbstowcs_l 具有安全增强功能,如 CRT 中的安全功能中所述。
参数
[out] pReturnValue - 转换的字符数。
[out] wcstr - 转换后的宽字符串的缓冲区地址。
[in] sizeInWords - wcstr 缓冲区的大小(以字为单位)。
[in] mbstr - 以 null 结尾的多字节字符序列的地址。
[in] count - 存储在 wcstr 缓冲区中的最大宽字符数,不包括终止的 null 或 _TRUNCATE。
这是 MSDN 页面的链接:https ://msdn.microsoft.com/en-us/library/eyktyxsx.aspx
有任何想法吗?
c++ - 无法在 MFC / C++ 项目中将参数 1 从“const wchar_t *”转换为“LPCTSTR”
我得到一个编译错误就行了:
我不知道如何解决这个错误,我尝试了以下方法:
我正在使用“使用多字节字符集”设置,我不想更改它。
c++ - std::vector 中的奇怪字符
尝试获取所有子目录,并最终获取子目录中的所有文件,并且我将 std::vector 作为对实际获取所有目录的函数的引用传递。我可以在函数内计算 cFileName 但是一旦它返回 main 向量就会有奇怪的字符。
目前让我的字符集使用 Unicode。当我使用多字节时,它实际上会打印奇怪的字符,现在它什么也不打印了。向量中确实有一些东西(directories.size() 返回值 > 0)
实在想不出别的了。希望这是一个很好的问题,哈哈。谢谢