问题标签 [lptstr]

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.

0 投票
0 回答
95 浏览

c++ - 如何保留从 LPCTSTR 复制到 LPTSTR 的百分号 (%)?

我是这方面的初学者,在经历了很多挫折之后,我终于有勇气向你们所有人询问,真正的专业人士。

当我将它复制到 LPTSTR 时,我需要保留从 LPCTSTR 收到的所有百分号 (%)。经过一番研究和尝试,我得到了这个:

但似乎我在这个过程中仍然失去了百分号。我已经阅读了很多告诉我使用 %% 的答案,但我在这里做错了,我不知道它是什么。

我不控制我收到的字符串,其中一些肯定会包含百分号 (%)。

我真的很感谢你的时间,我希望你能在这件事上给我一些启示。

0 投票
2 回答
484 浏览

c++ - 如何将 const wchar_t 类型转换为 LPTSTR (C++)

我正在尝试修改旧插件以创建新插件(在​​ C++ 和 Visual Studio 2019 中)。编译时出现以下错误,将 TEXT 标记为红色。

E0144:“const wchar_t *”类型的值不能用于初始化 LPTSTR 类型的实体

我调查并看到了类似的帖子,暗示了这一点:

现在我收到以下错误:

E0020: 未定义标识符“foo”

有人能告诉我如何以 LPTSTR 格式创建变量(这是GetModuleBase预期的类型)吗?

0 投票
1 回答
131 浏览

c++ - 使用带有 LPTSTR 类型参数的 std::copy

我正在使用 Win32 API,我需要复制使用 捕获的参数argv,问题是,代码必须同时符合 ASCII 和 UNICODE,这是 Windows 中 C/C++ 的问题。

除此之外,如果可能,我必须使用 C++ 而不是 C,所以我std::copy用来复制类型LPTSTR(或TCHAR*)的参数,我可以使用_tcscpy_s,但正如我所说,它必须尽可能是 C++。

注意:我不能使用std::wstringorstd::string因为这些必须传递给CreateProcess()并且参数必须是类型TCHAR*,以便它可以将其转换为LPTSTRLPWSTR依赖于编码。

这是一个控制台可执行最小可重现示例:

我的问题是:

代码是否安全,和/或是否有更好的替代方案(最好使用 C++)?

(不仅是复制部分,而且是整个想法)