问题标签 [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.
visual-c++ - 将 tchar[] 转换为 LPCWSTR
我正在使用 FindFirstFile 遍历目录以搜索 dll。
当我获取 dll 时,我使用 WIN32_FIND_DATA 结构的 cfilename 来获取该 dll 的名称。
现在,我想将 dll 传递给函数 LoadLibrary() ,该函数期望 dll 的绝对路径。
问题来了:WIN32_FIND_DATA 结构的 cfilename 返回一个 TCHAR[] 数组,它只是 dll 的名称,而不是它的路径。我应该将路径连接到名称以获得绝对路径。
LoadLibrary() 需要一个 LPCWSTR 作为参数。
我需要帮助: (1) 将 WIN32_FIND_DATA 的 cfilename 返回的 TCHAR[] 转换为 LPCWSTR (2) 将上述转换后的 LPCWSTR 与预定义路径 (L"C:\dir\example\") 连接以获得绝对路径。
任何对正确答案的推动都会让我开心:)
问候,安迪
visual-c++ - 为什么没有定义 PCTSTR 而定义了 LPCTSTR?
我已被分配更新用 MSVC++ 6 编写的旧代码。我得到了 PCTSTR 的未知定义,但即使我包含了 tchar.h,它也没有定义。根据我以前的经验,我知道有 LPTSTR 但没有 PCTSTR。
我 grep C:\Program Files\Microsoft Visual Studio\VC98\Include\ 文件夹并没有找到 PCTSTR 的定义。但令我惊讶的是,当我搜索 Windows SDK 文件夹 [C:\Program Files\Microsoft SDK] 时,没有 PCTSTR 的定义,但它被用于其中一个示例。[C:\Program Files\Microsoft SDK\Samples\winui\Resource\Iconpro*]。所以我猜这可能只是 16 位 Windows 的 Windows API 的遗物,但我无法从谷歌找到任何东西。
有谁知道 PCTSTR 是干什么用的。我猜是因为这是来自以前有效的旧代码。任何想法如何进行编译?[我把这个改成LPCTSTR并编译好了,我想知道除了改定义名还有其他方法吗]
c++ - C++ 索引 TCHAR 字符串
我正在对一些旧的 C++ 代码做一些静态分析工作,而我的 C++ 不是最强的。我有这段代码:
静态分析工具在这里抱怨在 1024 处索引logString(传递给函数的参数),而它可能更短(大小不同,我猜 1024 是最大大小)。所以我想我的解决方法是检查logString的大小并使用它,如下所示:
我只是想知道,这行得通吗?任何人都可以看到任何缺陷/问题吗?构建和测试这个项目有点困难,所以在我完成所有这些之前,我基本上只是在寻找一个健全性检查。或者我有更好的方法吗?我可以将 size_t 值传递给 _tcsncpy,因为之前有硬编码的 int 吗?
感谢所有帮助。
c++ - 如何从函数中正确输出 TCHAR?
这段代码:
给出错误:
string - SHGetSpecialFolderPath to a System::String^
我正在尝试将 a 解析SHGetSpecialFolderPath
为字符串,System::String^
准确地说是 a 。
我现在正在使用这段代码:
我已经尝试过这样的事情,但它也不起作用:
我只想得到System::String^
这样的:
c++ - 将 TCHAR 数组中的数字存储到 VC++ 中的 INTEGER 变量中。(在 UNICODE 环境中)
我在线程中问了一个与此非常相似的问题: https ://stackoverflow.com/questions/11259474/store-the-numericals-in-char-array-into-an-integer-variable-in-vc
WRT上面的线程,我的问题如下::我在UNICODE环境中工作。所以 TCHAr 可能会被视为 wchar。
我的场景如下:(C++)
在TCHAR a[10] 中,数组 a[] 具有元素(数字),例如 '1'、'2'、'3' 等......
说 a[0] = '1'; 一个1 = '2'; a[2] = '3';
现在 a[] 存储 3 个字符“1”、“2”和“3”。我想将其存储为 123(整数 123)的 int。
如何在 C++ 中实现这一点?
提前致谢。
c - 将 SHGetSpecialFolderPath+SubFolder 与 SHFileOperation 一起使用
我想C:\Users\username\AppData\Roaming\appname
在用户卸载应用程序时删除该文件夹appname
。
首先,我使用以下代码获取路径C:\Users\username\AppData\Roaming
:
appname 定义为_T("appname")
第一个问题是:How to append "appname" to "dir"?
假设上述完成。然后我需要使用SHFileOperation
删除非空文件夹C:\Users\username\AppData\Roaming\appname
。所以我需要一个SHFILEOPSTRUCT
结构中的双空终止字符串。所以
How to get a double null-terminated string from the result of the first step? Just append _T("\0\0") to it?
更新:我可以TCHAR *dir2 = lstrcat(dir, appname);
用来获取路径。但是当我尝试使用时TCHAR *dir3 = lstrcat(dir2, _T("\0\0"));
,该文件夹并没有被删除。任何数量\0
都行不通。
ps:
如果我直接执行以下操作,我可以让它工作。问题是我希望它独立于用户。
c++ - CString 到 TCHAR
很长一段时间后,今天我看到了这种转换:
它编译好。关于这种转换的任何解释?
看起来大部分都可以,因为我不需要GetBuffer
稍后使用和释放它,也不需要创建new
LPTSTR
带有字符串长度的a。
winapi - 在 winapi 中使用 _tcstok_s 解析 tchars
使用以下代码,我收到错误“simpleWindow.exe 中 0x59be5d2e (msvcr100d.dll) 处的未处理异常:0xC0000005:访问冲突写入位置 0x00e750f8。”
这只是我正在使用的一个例子,最终我试图从另一个类中提取一个字符串,但我想让解析首先工作。
c++ - C++ 程序中的 TCHAR 和未解析的外部符号 (LNK2019) 错误?
我的项目有两个 cpp 文件和一个头文件。一个 cpp 文件包含一个类的实现,它的声明在头文件中。另一个 cpp 文件包含该int main
函数。
该类的构造函数之一包括一个参数,它在链接器错误TCHAR
中被引用为未解析的函数。LNK2019
我正在使用 Visual Studio 2010,并且我已将Character set
项目属性中的选项设置为,Not Set
以便我可以在char
和wchar_t
使用宏UNICODE
之间进行选择。_UNICODE
目前我已经在我的主 cpp 文件的开头定义了这些,并且头文件包含在这两个之后。但是,如果我在头文件的开头定义这些宏,则项目可以完美编译。
有没有办法解决这个问题?还是我必须对类进行硬编码才能使用char
or wchar_t
?
谢谢。