C++ 进程通信 管道

来源:互联网 发布:淘宝司法拍卖房产平台 编辑:程序博客网 时间:2024/06/08 10:49


// OpenPipe.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<windows.h>#include<cstdlib>#include<iostream>using namespace std;HANDLE hPipe;void OpenPipe(){ hPipe = CreateFileA("\\\\.\\Pipe\\pipe_xg", GENERIC_READ | GENERIC_WRITE,   0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if( INVALID_HANDLE_VALUE == hPipe) { cout<<"打开通道错误"<<endl; return ; } BOOL bConnect = ConnectNamedPipe(hPipe,NULL); if(!bConnect) { cout<<"连接管道错误"<<endl; return ; } //CloseHandle(hPipe); // 关闭管道句柄}void WriteData(char* data){ DWORD WriteNum; BOOL bWrite = WriteFile(hPipe,data,strlen(data), &WriteNum, NULL); FlushFileBuffers(hPipe); //DisconnectNamedPipe(hPipe); if(bWrite) { } else { }}#define WIDTH 6#define HEIGHT 6struct SPatch{int row,col,cx,cy,width,height;//行,列,中心点横纵坐标,patch宽,高int type,level;//pe图片类型,1是blur,2是noise,level是blur和noise的级别(取1,2,3,4)float blurFeature[3];float noiseFeature[3];}imagePatch[WIDTH][HEIGHT];//比如我定义这么一个结构体,我要是给数组循环赋值,我应该怎么做//比如int _tmain(int argc, _TCHAR* argv[]){#if 1OpenPipe();WriteData("111");getchar();WriteData("222");getchar();CloseHandle(hPipe);for(int i=0;i<WIDTH;i++){for(int j=0;j<HEIGHT;j++){imagePatch[i][j].cx = 1000;imagePatch[i][j].noiseFeature[0] = 1.9;imagePatch[i][j].height = 1000;}}#endifreturn 0;}


原创粉丝点击