问题标签 [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++ - tstring typedef 的问题
我在尝试为自己键入一个方便的 tstring 时遇到问题(见下文)
尝试编译时出现编译器错误。“ERROR here (1)”处的错误是:
错误 3 错误 C2871:“std”:具有此名称的命名空间不存在 \nisampleclient\nisampleclientdefs.h 16
如果我删除using namespace std;
声明并将 ERROR HERE (2) 更改为说,typedef std::basic_string<TCHAR> tstring;
那么我会收到一个错误:
错误 3 错误 C2653: 'std' : 不是类或命名空间名称 \nisampleclient\nisampleclientdefs.h 23
那时相反。
提前致谢。:)
c++ - 如何使用 _TCHAR* 作为文件名打开文件?c/c++
我的主要有以下签名:
我想执行以下操作:
但是存在类型不匹配。我该怎么做?我应该使用:
谢谢!
visual-studio-2010 - 如何将“System::String ^”转换为“TCHAR”?
我在这里问了一个涉及 C++ 和 C# 通信的问题。问题解决了,但又引出了一个新问题。
这将返回一个字符串(C#)
这需要一个 TCHAR* (C++)
我已经用谷歌搜索了如何解决这个问题,但我不确定为什么字符串上有一个胡萝卜(^)。最好将返回从 String 更改为 C++ 可以接受的其他内容吗?还是我需要在分配值之前进行转换?
windows - 是否有一个格式说明符总是表示带有 _tprintf 的 char 字符串?
TCHAR
当您使用支持在 Windows 上构建应用程序时, %s
in_tprintf()
表示char *
Ansi 构建和wchar_t *
Unicode 构建的字符串,而%S
反之亦然。
char *
但是,无论是 Ansi 还是 Unicode 版本,是否有任何格式说明符始终表示字符串?由于即使在 Windows 上 UTF-16 也没有真正用于文件或网络,所以无论您将应用程序编译为何种本机字符类型,您仍然经常需要处理基于字节的字符串。
visual-studio-2010 - 为什么我会在 c++/CLI 中得到未处理的异常访问冲突?
我一直在努力编写一个从 c++ win32console 和 c++ dll 中提取的解决方案。我终于设法让他们在没有链接器错误的情况下交谈(所以我假设两者都是完全托管的 c++/CLI 项目)但是当我运行控制台时,我得到以下错误。
Company.Pins.Bank.Win32Console.exe 中 0x03f71849 处的未处理异常:0xC0000005:访问冲突写入位置 0x00000001。
控制台还显示以下内容
未处理的异常:System.NullReferenceException:对象引用未设置为对象的实例。在 c:...\win32console.cpp 中的 wmain: _wmainCRTStartup() 处的第 20 行
但我假设这是因为未处理的异常。
跟踪此错误以及在下面的代码块中执行返回时会发生错误。(返回链接的方法似乎可以通过,只是返回时似乎变坏了。)以防万一您没有注意到,我自己没有编写以下代码,它是由Visual Studio生成的。
编辑:win32console.cpp 代码如下。
c++ - 在 C++ 中将 TCHAR 转换为字符串
我正在尝试将 TCHAR 转换为字符串,如下所示:
我需要设置mypath
为path
. 我做了一个简单的循环并连接path[index]
到mypath
并且这有效,但我不喜欢这种方式。
我是 C++ 的新手,但已经做了很多 C#。我见过GetModuleFileName
传递“char”的例子,但它不喜欢它。它需要TCHAR
or LPWSTR
。
c++ - 如何将 TCHAR 数组转换为 std::string?
如何将TCHAR
数组转换为std::string
(而不是std::basic_string
)?
c - 我应该从 Windows 代码中消除 TCHAR 吗?
我正在修改一些非常古老(10 年)的 C 代码。该代码在 Unix/Mac 上使用 GCC 编译,并在 Windows 上使用 MinGW 进行交叉编译。目前有 TCHAR 字符串贯穿始终。我想摆脱 TCHAR 并改用 C++ 字符串。是否仍然需要使用 Windows 范围的功能,或者我现在可以使用 Unicode 和 UTF-8 做所有事情吗?
c++ - 将堆栈字符串与堆字符串连接会产生奇怪的结果
我相信以下有一个合理的解释,但我仍然有点困惑。
问题在于创建 a _TCHAR[CONSTANT]
、 a _TCHAR*
、连接它们并返回结果的函数。
whatTheHeck()
由于某种原因,对from的调用_tmain()
返回乱码。
相反,当使用堆时,事情会按预期工作。
为什么有区别?
是因为_tcscat()
连接内存地址而不是它们的内容并返回清除堆栈吗?
c++ - 为什么我的 Win32 API 调用需要“A”后缀,我应该纠正它吗?
要从我需要的 Win shell 执行命令
现在我正在完成 Forgers Win32 教程,我正在寻找防止在屏幕上打印垃圾所必需的 A 后缀。我知道这与我的操作系统默认的字符格式有关。如果我可以“规范化”我的操作系统,这可能是最好的解决方案,因为RegisterClassExA
无论我在第二个示例中使用了多少 *A 函数,我都会从 NULL 中恢复(在下面复制了我添加的 *A 后缀的 lllotottttssss)
我重新访问了上面的代码,使其像 Forgers(删除 *A's)并改用L""
字符串初始化器,但现在我得到一个错误分配const char g_szClassName[] = L"myWindowClass";
错误 C2053:“g_szClassName”:宽字符串不匹配
替换char
为wchar
生成编译器错误消息,指示wchar
不是可识别的类型。
_编辑_
我认为L""
字符串说明符是首选解决方案,也是我想要追求的解决方案,抱歉,如果我的问题似乎绕圈子,我愿意接受建议。
刚刚将该代码更新为我现在使用的代码,并删除了我无法访问的内容。
_编辑_
错误代码是87,无效参数,所以我猜分配wchar_t
参数( wc.lpszClassName = g_szClassName;
)毕竟是不正确的......:@(
_编辑_
猜错了?!const LPCTSTR g_szClassName = L"myWindowClass";
没有修复(或破坏)一件事。