相关疑难解决方法(0)

什么是长指针?

我正在读一本书,它提到某些数据类型是长指针.只是好奇这意味着什么.谢谢.

c c++ pointers

34
推荐指数
2
解决办法
2万
查看次数

什么是.net中的AutoClass?

我正在阅读Inside C#,我偶然发现了Type.IsAutoClass.

文件说

如果为Type选择了字符串格式属性AutoClass,则为true;否则为false.否则,错误.

问题是AutoClass它影响的是什么以及如何影响Type

请注意,这是一个学术问题,并且在项目中没有实际用法(据我所知),我与之相关.

.net c# reflection types autoclass

6
推荐指数
1
解决办法
1019
查看次数

错误C3861:'_ tcsdup':找不到标识符

这是我的第一次,我想使用Windows CreateProcess函数进行并行处理.根据MSDN上的示例,我创建了一个LPTSTR"(非常量)TCHAR字符串" 命令行参数,如下所示

LPTSTR szCmdline[] = _tcsdup(TEXT("\C:\\MyProgram_linux_1.1\\MyProgram.exe") );
Run Code Online (Sandbox Code Playgroud)

这里讨论 LPTSTR和其他char和字符串类型

命令行参数传递给CreateProcess这样

if (!CreateProcess(NULL, szCmdline, /*...*/) ) cout << "ERROR: cannot start CreateProcess" << endl;
Run Code Online (Sandbox Code Playgroud)

并且这些标题存在

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <strsafe.h>
#include <direct.h>
Run Code Online (Sandbox Code Playgroud)

在编译时这是错误:

error C3861: '_tcsdup': identifier not found
Run Code Online (Sandbox Code Playgroud)

搜索此错误发现相同的错误,但解决方案特定于使用.NET框架而不是解释error C3861: '_tcsdup'

不知道是否有关,但也有一个error C2059: syntax error : ')'if (!CreateProcess(NULL, szCmdline, /*...*/) ) cout << "ERROR: cannot start CreateProcess" << endl;

这个错误是如何修复的?而且,这是怎么回事?

此外,我正在使用CreateProcess学习Linux …

c++ fork createprocess lptstr visual-studio-2008

5
推荐指数
1
解决办法
4520
查看次数

如何在WinAPI函数中将字符串转换为LPSTR,该函数将输出存储在字符串中

我试图将一些内容存储到字符串变量中,方法是将它作为参数传递给各种类型的Windows API函数,这些函数接受像char*这样的变量.

例如,我的代码是: -

std::string myString;
GetCurrentDirectoryA( MAX_PATH, myString );
Run Code Online (Sandbox Code Playgroud)

现在,在这种情况下,如何将字符串变量转换为LPSTR.

请注意,此函数不是用于传递字符串的内容作为输入,但该函数在执行后将一些内容存储到字符串变量中.因此,排除了myString.c_str().

编辑:我有一个解决方法,删除字符串的概念,并用类似的东西替换它

char myString[ MAX_PATH ];
Run Code Online (Sandbox Code Playgroud)

但这不是我的目标.我想利用字符串.有可能吗?

也像铸造一样

GetCurrentDirectoryA( MAX_PATH, ( LPSTR ) myString );
Run Code Online (Sandbox Code Playgroud)

不管用.

在此先感谢您的帮助.

string winapi visual-c++

1
推荐指数
1
解决办法
4174
查看次数