我的任务是在 Linux 中编写一个文件系统,该系统将存储设备模拟为文件。
我被赋予的功能之一需要读取“文件”中的数据。为此,我有一个应该返回std::string.
如何使用以下函数将文件中的数据直接读入std::string?
void read(int addr, int size, char *ans)
Run Code Online (Sandbox Code Playgroud)
有没有办法将内部的字符数组std::string作为参数传递给这个函数?到目前为止,我遇到的所有方法和成员函数都只返回const char*,在这种情况下不起作用。
谢谢!
这是我正在编写的 dll 注入代码中的一段。我正在使用FindWindowA() 中定义的窗口过程获取 HWND INJ_PROC_NAME。问题是该函数总是返回 0,当我用GetLastError()它检查错误时也返回 0。我不知道是什么问题,因为错误代码没有给我关于错误的正确信息。
HWND Hwnd = FindWindowA(NULL, INJ_PROC_NAME);
if (Hwnd == NULL)
{
std::cout << "Couldn't find window named \"" << INJ_PROC_NAME << "\": error-"
<< GetLastError() << std::endl;
getchar();
return -1;
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
Couldn't find window named "notepad.exe": error-0
Run Code Online (Sandbox Code Playgroud)
这是一个已知的问题?我无法在 Microsoft 的文档或堆栈溢出中找到有关它的任何信息。我就是想不通这个...
编辑:显然,当我运行程序时,记事本是打开的。
我想知道,当使用命令行参数并且留下第一个参数时,函数CreateprocessA()或CreateprocessW() 使用或调用system()还是它的变体NULL?
编辑: 否则,他们会调用 CMD.EXE 作为中介吗?