- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
你好,我的代码有问题。
LPCSTR mergeString(LPCSTR firstString, std::string secondString)
{
string convertedString = ConvertString(firstString);
LPCSTR mergedString;
int i = convertedString.size();
convertedString.insert(i, secondString);
mergedString = (convertedString.c_str());
return mergedString;
}
void GetFiles(LPCSTR path)
{
WIN32_FIND_DATA File_Data;
LPCSTR lPath = mergeString(path,"\\*.txt");
FindFirstFile(lPath, &File_Data);
wcout << File_Data.cFileName;
}
你在 GetFiles(LPCSTR 路径) 中传入你想要使用的路径然后我使用 mergestring 函数将路径与扩展名 (\*.txt) 合并在一起,除了当它返回 LPCSTR 然后它只是很多奇怪的角色,我不知道为什么或者这是更好的方法吗?
最佳答案
您的代码不必要复杂。如果您只想向输入路径字符串添加一个 \*.txt
后缀,您可以简单地使用 std::string
及其重载的 operator+
.
然后,如果您想将 std::string
传递给具有 const char*
的 Win32 API(即 LPCSTR
)参数,可以使用std::string::c_str()
方法:
void GetFiles(LPCSTR path)
{
WIN32_FIND_DATA fileData;
std::string searchPath(path);
searchPath += "\\*.txt";
FindFirstFile(searchPath.c_str(), &fileData);
wcout << fileData.cFileName;
}
另请注意,在现代世界中,您应该使用 Unicode (UTF-16) 进行 Win32 编程;所以 const wchar_t*
和 std::wstring
是比 const char*
和 std::string
更好的选择。此外,我只使用 std::wstring
类作为参数,而不是原始的 wchar_t
指针。
void GetFiles(const std::wstring& path)
{
std::wstring searchPath = path + L"\\*.txt";
WIN32_FIND_DATA fileData;
FindFirstFile(searchPath.c_str(), &fileData);
std::wcout << fileData.cFileName;
}
关于c++ - FindFirstFile LPCSTR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13311889/
我有一个由 Install Shield 通过 InstallScript 调用的 C++ API 函数: SQLHELPER_API LPCSTR GetAvailableAppName(LPCST
我收到这个错误 UINT GetDriveTypeA(LPCSTR)': cannot convert argument 1 from 'LPCWSTR' to 'LPCSTR' 下面是我的代码。 v
在 vc++ 中,我有一个包含两个项目的解决方案。项目 A 有一个 dllLoader.h 和 dllLoader.cpp 用 LoadLibrary 加载一个 dll 我需要调用它在项目 B 中的功
我目前有一个名为 TextureObject 的类。在创建函数中,我创建纹理,并将类中的 LPCSTR 分配给函数中给定的参数。当我稍后返回那个 LPCSTR 时,它以一种意想不到的方式返回。 某些类
简单的问题。 如何检查 LPCSTR 上第一个位置的字符是什么? 或者只检查第一个位置是否有空格? 最佳答案 给定一个名为 str 的 LPCSTR,您可以使用 str[0] 访问第一个字符。例如:
这个问题在这里已经有了答案: How do I iterate over the words of a string? (83 个回答) 关闭 5 年前。 我现在已经苦苦挣扎了好几天,因为我对 C+
我正在编写一个简单的 XOR 加密程序,然后我注意到函数的返回值不是我期望看到的那种。 我在我的代码中找不到问题,任何人都可以帮助我吗? 程序代码如下: #include "windows.h" #i
你好,我的代码有问题。 LPCSTR mergeString(LPCSTR firstString, std::string secondString) { string convertedS
我已经尝试过 strcmp 和 lstrcmp。我什至尝试用 strlen 来做,但也没有用,这就是我所拥有的 void check(LPCSTR lpText) { if( strmp(lp
我有两个 LPCSTR,我需要像这样连接起来: if (!rename(directory + originalFileName, directory + fileName)){ std::c
我正在读取一个 ini 文件,然后想执行一个外部程序(VBS 文件)。但是我在字符串类型方面遇到了问题。 这是我的代码。 LPCTSTR path = _T(".\\my.ini"); TCHAR f
我发现了一个比较两个 LPCSTR 的实现,它执行以下操作: void check(LPCSTR lpText) { if(lpText == input) { //
我正在尝试使用 atoi() 将 LPCSTR 转换为整数,并验证转换是否成功我想计算它生成的整数和原始 LPCSTR 中的位数(它应该只包含整数) 我很难找到计算 LPCSTR 长度的好方法。到目前
我在 C 中使用 Win32 API,需要将 GUID 结构转换为 LPCSTR。我对 Win32 比较陌生,并没有找到太多关于这种类型转换的信息。 我确实设法使用 StringFromGUID2 函
我目前正在进入 ctypes 模块,并尝试调用 user32 函数 GetWindowText带有我已经通过使用 FindWindow 收到的 HWND 句柄。这次我想进一步处理并使用函数原型(pro
我在尝试将 LPCWSTR 转换为 LPCSTR 时遇到问题。 一些背景 我正在编写一个 VC++ 2010 应用程序,并且已经遇到了我必须从类型 System::String^ 转换为 std::s
请问如何将 LPCSTR 转 WCHAR* 转换成 Unicode 项目?我在网上找不到太多内容。 最佳答案 如果您不包含AtlBase.h或AtlConv.h header , #include
我试图在一个 dll 包装器中创建一个 c++ 函数,它接受一个 char *,将它转换为 LPCSTR,然后将它用作 MessageBox 中的一个变量。该函数和转换在原始类中运行良好,但当我尝试在
从帮助我创建按钮和其他东西的网站获得此代码。这些按钮工作但由于某种原因我在创建静态时遇到编译器错误。 无法从“const wchar_t [5]”转换为“char” 无法将参数 3 从“char”转换
这个问题在这里已经有了答案: Why does calling c_str() on a function that returns a string not work? (4 个答案) 关闭 6
我是一名优秀的程序员,十分优秀!