c++ - 如何使 CreateFileA WINAPI 函数在这种形式下工作?
问题描述
我有这个 WINAPI 函数:
HANDLE file{ CreateFileA((LPCSTR)"\\\\.\\" + (???) ", FILE_APPEND_DATA,FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL) };
我有一个 std::string 类型的全局变量“Path”和一个 TCHAR* 类型的用户名,我假设我需要将这两个变量转换为 LPCSTR,但是,即使经过一段时间我也不知道该怎么做谷歌搜索。我会很感激任何帮助。
解决方案
只需将两个std::string
s 连接成一个 new std::string
,然后使用它的c_str()
方法,例如:
std::string Path = ...;
std::string username = ...;
std::string fullpath = Path + username;
HANDLE file{ CreateFileA(fullpath.c_str(), ...) };
或者简单地说:
std::string Path = ...;
std::string username = ...;
HANDLE file{ CreateFileA((Path + username).c_str(), ...) };
推荐阅读
- javascript - 如何迭代 Map() 对象?
- python - 十六进制转十进制转换器
- sql - 在 Informix 中使用 sysmaster 用户连接时如何获取特定数据库的表列表?
- python - 在 python 中为整数值获取相同的字符,就像在 VB6 中一样
- c# - TreeView 粗体节点 (C#)
- angular - Angular 7 - tsconfig 需要一次文件刷新才能包含外部模块
- python-2.7 - 如何在 Python 2.7 上处理图形的文本文件
- xml - 使用 XSLT 转换包含不同值的重复 XML 元素
- javascript - 如何将路由连接到 server.js
- java - 本地日期解析在没有分隔符的情况下不起作用