|
void CSDFILEDlg::OnWrite()
{
// TODO: Add your control notification handler code here
DWORD len,actlen;
char *pcharbuff;
if (hFile == INVALID_HANDLE_VALUE)
{
MessageBox(_T("文件未打开!"));
return;
}
UpdateData(TRUE);
len = m_strDisp.GetLength(); /* 取得输入字符串的长度 */
pcharbuff = new char[len];
LPTSTR pStr = m_strDisp.GetBuffer(len); /* 取得输入字符串的缓冲区指针 */
// 将 Unicode 的 CString 转换为 char 型
WideCharToMultiByte(CP_ACP, 0, pStr, len, pcharbuff, len, NULL, NULL);
m_strDisp.ReleaseBuffer();
BOOL ret = SetFilePointer(hFile, 0, NULL, FILE_BEGIN); /* 移动文件指针到文件开头 */
if (ret == 0xFFFFFFFF)
{
MessageBox(_T("将文件指针移至文件开头失败!"));
delete[] pcharbuff;
return;
}
ret = WriteFile(hFile, pcharbuff, len, &actlen, NULL); /* 将数据写入文件中 */
if (ret == TRUE)
MessageBox(_T("写文件成功!"));
else
MessageBox(_T("写文件失败!"));
if (pcharbuff != NULL)
delete[] pcharbuff;
} |
|