關于控制元件的回呼方式輸入輸出,何時關閉檔案
static DWORD CALLBACK
MyStreamOutCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
CFile* pFile = (CFile*) dwCookie;
pFile->Write(pbBuff, cb);
*pcb = cb;
return 0;
}
CFile cFile(TEXT("My_RichEdit_OutFile.rtf"),
CFile::modeCreate|CFile::modeWrite);
EDITSTREAM es;
es.dwCookie = (DWORD) &cFile;
es.pfnCallback = MyStreamOutCallback;
m_myRichEditCtrl.StreamOut(SF_RTF, es);
這個是官方示例 網上多見 執行完StreamOut 就直接關閉檔案真的沒問題嗎 應該需要考慮檔案異步讀寫的問題吧 那么應該什么時候關閉 或者 我應該怎樣獲取當前控制元件 資訊的大小 謝諸君
uj5u.com熱心網友回復:
很尷尬, 檔案說明是 指定在其中填入文本緩沖區的回呼函式。 此回呼函式呼叫重復,直到用完的輸出流。自以為就是異步的,后來嘗試輸出執行緒id 發現就是在一個執行緒里面執行 所以還是同步的 那么久不存在什么問題了 ...uj5u.com熱心網友回復:
所以 來個人回復 就給分結了轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/56455.html
