**:
共享檔案方式
(1)資料傳送
資料傳送程序為通過cfile類建立乙個共享檔案,然後呼叫write()方法想檔案中寫入資料,具體**如下:
#include #include #include void main()
; strcpy(buf, "i love china very much");
file.write(buf, strlen(buf));
file.close();
} else
}
開啟檔案後,用write()來寫入檔案
(2)資料接收
資料在接收程序中,通過cfile類開啟以上建立的共享檔案,然後呼叫read()方法讀取資料,具體**如下:
#include #include #include void main()
; file.read(buf, 100);
printf("從%s中讀取100byte,內容為:%s\n", filename, buf);
} else
}
注意:
在上述實現中,資料傳送方在open()時,傳入引數:cfile::sharedenyread,即不允許其他程序讀取該檔案
接收方在open()時,傳入引數:cfile::sharedenywrite,即不允許其他程序寫入該檔案
因此,在進行完讀、寫操作之後,必須立刻關閉close()檔案
儘管這樣,仍然存在雙方撞車的可能;而且每次都需要開啟、關閉檔案,從而導致系統開銷;
windows程序間通訊
摘 要 隨著人們對應用程式的要求越來越高,單程序應用在許多場合已不能滿足人們的要求。編寫多程序 多執行緒程式成為現代程式設計的乙個重要特點,在多程序程式設計中,程序間的通訊是不可避免的。microsoft win32 api 提供了多種程序間通訊的方法,全面地闡述了這些方法的特點,並加以比較和分析,...
Windows下程序間通訊
1 程序與程序通訊 2 程序通訊方法 2.1 檔案對映 win32 api中共享記憶體 shared memory 實際就是檔案對映的一種特殊情況。程序在建立檔案對映物件時用0xffffffff來代替檔案控制代碼 handle 就表示了對應的檔案對映物件是從作業系統頁面檔案訪問記憶體,其它程序開啟該...
Windows程序間通訊方式
align center windows程序間通訊方式 align 1 檔案對映 win32 api允許多個程序訪問同一檔案對映物件,各個程序在它自己的位址空間裡接收記憶體的指標。通過使用這些指標,不同程序就可以讀或修改檔案的內容,實現了對檔案中資料的共享。應用程式有三種方法來使多個程序共享乙個檔案...