函數FlushFileBuffers用于刷新指定文件的緩沖區,確保數據被寫入文件中。其原型如下:
BOOL FlushFileBuffers( HANDLE hFile );
參數hFile為文件的句柄,通過CreateFile函數獲取。函數返回值為BOOL類型,表示操作成功與否。
函數PurgeComm用于清除指定串口的輸入和輸出緩沖區。其原型如下:
BOOL PurgeComm( HANDLE hFile, DWORD dwFlags );
參數hFile為串口的句柄,通過CreateFile函數獲取。參數dwFlags為清除標志,可以是以下值的組合:
函數返回值為BOOL類型,表示操作成功與否。
使用示例:
// 以寫入方式打開文件 HANDLE hFile = CreateFile( “test.txt”, // 文件路徑 GENERIC_WRITE, // 訪問權限 0, // 共享模式 NULL, // 安全屬性 OPEN_ALWAYS, // 打開方式 FILE_ATTRIBUTE_NORMAL, // 文件屬性 NULL // 模板文件句柄 ); if (hFile != INVALID_HANDLE_VALUE) { // 寫入數據到文件 DWORD dwBytesWritten; char data[] = “Hello, World!”; WriteFile(hFile, data, sizeof(data), &dwBytesWritten, NULL);
// 刷新文件緩沖區
FlushFileBuffers(hFile);
// 關閉文件
CloseHandle(hFile);
}
// 打開串口 HANDLE hComm = CreateFile( “COM1”, // 串口名稱 GENERIC_READ | GENERIC_WRITE,// 訪問權限 0, // 共享模式 NULL, // 安全屬性 OPEN_EXISTING, // 打開方式 0, // 文件屬性 NULL // 模板文件句柄 ); if (hComm != INVALID_HANDLE_VALUE) { // 清除串口輸入和輸出緩沖區 PurgeComm(hComm, PURGE_RXCLEAR | PURGE_TXCLEAR);
// 關閉串口
CloseHandle(hComm);
}