Windows環境程序間通訊(一) 共享檔案方式

2021-06-06 00:06:58 字數 836 閱讀 8543

**:

共享檔案方式 

(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允許多個程序訪問同一檔案對映物件,各個程序在它自己的位址空間裡接收記憶體的指標。通過使用這些指標,不同程序就可以讀或修改檔案的內容,實現了對檔案中資料的共享。應用程式有三種方法來使多個程序共享乙個檔案...