// 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 6 struct 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 1 OpenPipe(); 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; } } #endif return 0; }