问题标签 [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 回答
312 浏览

c++ - 将 LPTSTR 转换为 System::String^ 以供查看

我需要将 LPTSTR 转换为 String^ 才能通过 MessageBox 查看它;

我做得很好吗?因为我遇到了异常: System.AccessViolationException - Attempting to read the protected memory

如何以其他方式读取 ini 文件并将其转换(返回)为 String^ ?

0 投票
1 回答
1088 浏览

c++ - C ++ LPCTSTR如何将命令行参数传递给子进程

我在这里尝试做的是尝试将父母的命令行参数传递给孩子。但它是LPTSTR,我不知道如何组合stringLPTSTR输入并将其传递给孩子。它给了我类型def。错误。我使用 Visual Studio 2013 和 C++。

0 投票
1 回答
104 浏览

c++ - LPTSTR 失去范围,解决不工作(C++)

编辑:解决方案是将 LPTSTR 替换为 wstring。当 Windows API 需要 LPTSTR 时,使用 .c_str() 强制转换 wstring

我的问题是,一个变量(LPTSTR)超出了范围,我无法修复它。我会解释...

在我的代码中,我试图将图像的名称保存在一个类中。我使用的类保存了函数限制、标志和其他需要保存的变量,例如原始文件目录。

我使用的是 Windows,因此当我想加载图像时,图像名称需要在 LPTSTR 中(启用了 Unicode)。我已经为将 Ascii 转换为 Unicode 感到头疼。

对于我的大部分代码,我对这个类没有任何问题,直到我尝试保存这个图像名称。第一次创建和保存图像名称时,该名称仅在 main 深处的一个函数中创建,这很有效!我第二次使用相同的函数创建一个新的图像名称,但函数调用距离 main 有 3 级深。当第二级返回第一级时,我的图像名称超出范围(字符串被覆盖)。

我正在尝试解决问题,但 3 天后,没有任何效果。

这是我的类设置器代码。这是残酷的,因为它正试图解决问题。

我第一次调用 Set_BMPName() 名称时它有效。第二次调用 setter 时进入了 If 循环,但是在创建新的 StaticString 时,没有分配值。我可能会错误地使用“新”运算符吗?

如果您需要查看更多代码,请告诉我。谢谢你。

0 投票
1 回答
228 浏览

c++ - 无法将 lpCmdLine 参数分配给 char* 指针

此代码检查运行应用程序此参数:

错误此行:错误 C2440:“初始化”无法从“LPTSTR”转换为“字符 *”

0 投票
2 回答
797 浏览

c++ - 连接 LPTSTR 与 const char* (Win32 C++)

我希望能够在我的 Win32 应用程序中打开一个文件。我正在使用的方法是从编辑框中检索根路径,例如“C:\MyFolder”(分配给strPathToSource)。然后我想附加另一个字符串,例如 "\source\Utilities\File.h" 并将连接的路径存储在一个新变量strPathToFile中。

所以strPathToFile应该包含“C:\MyFolder\source\Utilities\File.h”,然后可以使用infile.open(strPathToFile).

相关代码如下所示:

其中PATH_TO_FILE定义为:

我的问题是它总是注销“File.h not found”。我认为问题在于连接,例如

逐步浏览我可以看到 和 的值strPathToSource应该PATH_TO_FILE是,但strPathToFile我相信的连接结果是 NULL 值。

0 投票
2 回答
325 浏览

c++ - LPTSTR 只包含一个字母

我正在为应用程序创建一个 DLL。应用程序调用 DLL 并接收长度为 8 到 50 的字符串。

我遇到的问题是只显示应用程序收到的任何消息的第一个字母

下面是 GetMethodVersion 函数。

项目设置设置为 Unicode。经过一些研究,我相信 Unicode 格式及其功能存在问题。谢谢你提供的所有帮助。

0 投票
1 回答
348 浏览

qt - 如何将 wchar_t / TCHAR / WCHAR / LPTSTR 拆分为 QStringList?

在使用 Win32API 时,我必须使用的函数通过将结果写入 LPTSTR 类型的缓冲区以及写入的单个字符数来返回其结果。在此处输入代码

由于此缓冲区是一个字符串,并且该函数可以返回多个值,因此实际结果数据如下所示:

将其放入 QStringList 的最佳方法是什么?

0 投票
2 回答
494 浏览

c++ - AfxMessageBox - 访问冲突

这是正在发生的事情。当我尝试从我的 CDialog 扩展类运行 AfxMessageBox 时,我得到一个错误(见下文)。我用谷歌搜索了互联网,但没有找到。这是消息框唯一失败的地方,我知道其余代码有效(我逐步完成了它)。

有谁知道如何解决这一问题?

提前致谢!

AFXMESSAGEBOX 打开时的错误消息:

IsoPro.exe 中 0x014b4b70 处的未处理异常:0xC0000005:访问冲突读取位置 0x34333345。

从 CDialog 中启动 AfxMessageBox 的代码

显示 CDialog 的代码:

0 投票
3 回答
2952 浏览

c++ - 如何将字符串转换为 LPTSTR

我需要创建一个变量来使用CreateProcess

变量 z7Arg 是 7 -zip 的参数列表,其中包含基于当前日期的文件名,即:2017-12-13.zip。

我想将 buArg 复制到 z7Arg 作为 LPTSTR 以在 CreateProcess 例程中使用

我该怎么做?

我是 C++ 编码的新手,30 年前我为 Grumman Aerospace 使用 IBM Fortran 和汇编语言编程,但从那时起几乎没有编写过代码。

0 投票
1 回答
1759 浏览

c++ - C++ 从磁盘读取文件并将其写入共享内存

我的目标是实现以下目标:

我想从磁盘读取一个文件(假设它是一个图像文件)并将其写入共享内存,以便我可以从另一个进程的共享内存中读取它。首先,我按照这个 msdn 教程创建了一个简单的共享内存实现来包含一个字符串。它工作正常。

然后我找到了一种从磁盘读取图像的方法。实现如下:

所以现在我有一个std::string包含我的数据的data.length()表明我读取的文件已成功存储在其中。在 msdn 示例中,MapViewOfFile结果的类型是LPTSTR,所以我寻找一种方法来转换std::stringI have to LPTSTR,据我所知,这是一个const wchar_t*. 我这样做如下:

但如果我现在检查_tcslen(widecstr)结果是4. 所以我想我试图做的事情是行不通的。我还在另一个 SO 问题上找到了这句话:

注意:std::string 适合保存“二进制”缓冲区,而 std::wstring 则不是!

( Source ) 这听起来好像我无法按照我尝试的方式存储文件数据。

所以我的问题是:我只是在某个地方犯了错误还是我的方法有缺陷?也许我需要为结果使用另一种文件类型MapViewOfFile?也许我需要将文件初始化加载到另一种类型?