1
#include <iostream>
2
#include <windows.h>
3
#include <fstream>
4
5
using namespace std;
6
int _tmain(int argc, _TCHAR* argv[])
7
{
8
HANDLE hWrite,hRead;
9
SECURITY_ATTRIBUTES sa;
10
sa.bInheritHandle=true;
11
sa.nLength=sizeof(sa);
12
sa.lpSecurityDescriptor=NULL;
13
14
HANDLE input=CreateFile(L"in.txt",GENERIC_READ,NULL,&sa,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
15
HANDLE output=CreateFile(L"out.txt",GENERIC_WRITE|GENERIC_READ,NULL,&sa,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
16
17
//::CreatePipe(&hRead,&hWrite,&sa,0);
18
STARTUPINFO si;
19
ZeroMemory(&si,sizeof(si));
20
si.cb=sizeof(si);
21
::GetStartupInfo(&si);
22
si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
23
si.hStdError=0;
24
si.hStdInput=input;
25
si.hStdOutput=output;
26
si.wShowWindow=SW_HIDE;
27
28
PROCESS_INFORMATION pi;
29
30
CreateProcess(L"..//Debug//test.exe",0,0,0,true,0,0,0,&si,&pi);
31
//::CloseHandle(hWrite);
32
WaitForSingleObject(pi.hProcess,INFINITE);
33
CloseHandle(input);
34
CloseHandle(output);
35
//char mm[1000];
36
//memset(mm,0,sizeof(mm));
37
//DWORD d;
38
//ReadFile(hRead,mm,1000,&d,0);
39
40
//cout<<mm<<endl;
41
42
return 0;
43
}
用途文件重定向子进程的输入输出
最新推荐文章于 2025-11-23 16:56:34 发布
本文介绍了一个使用C++结合Windows API实现文件读写的示例程序。该程序展示了如何通过CreateFile函数打开指定文件,并利用StartF结构配置进程启动参数来设置标准输入输出重定向。


307

被折叠的 条评论
为什么被折叠?



