📄 1.cpp
字号:
#include<iostream.h>
#include<windows.h>
#include <stdio.h>
void main()
{
unsigned char my_r;
HANDLE hFileMap = OpenFileMapping(FILE_MAP_WRITE,false, "my_file");
if(hFileMap == NULL)
{
cout<<"文件映射错! "<<endl;
return ;
}
HANDLE sr = CreateSemaphore(NULL,10,10,"my_sr");
HANDLE sm = CreateSemaphore(NULL,0,10,"my_sm");
HANDLE metux = CreateSemaphore(NULL,1,1,"my_mutex");
PVOID pvFile = MapViewOfFile(hFileMap,FILE_MAP_WRITE,0,0,0);
char* p=(char*)pvFile;
char arry[32];
char flag='y';
while(flag=='y')
{
cout<<"请输入数据:"<<endl;
fflush(stdin);
gets(arry);
WaitForSingleObject(sr,INFINITE);
WaitForSingleObject(metux,INFINITE);
my_r=*p;
strncpy(p + 3 + my_r * 32, arry, 32);
my_r=(my_r+1)%10;
*p=my_r;
ReleaseSemaphore(metux, 1, NULL);
ReleaseSemaphore(sm, 1, NULL);
cout<<"是否继续y/n:"<<endl;
fflush(stdin);
scanf("%c", &flag);
}
UnmapViewOfFile(pvFile);
CloseHandle(hFileMap);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -