向記錄檔案中寫入資料
阿新 • • 發佈:2019-02-18
CString sockfilename;
CFile sockfile;
sockfilename = "sockfile.txt"; //那其他成員變數必須有預設初始化函式,為什麼這裡沒有賦值寬字串
bool TcpClient::TcpIni()
{
//---------------------------------------SOCKET環境初始化--------
char errBuf[100];// 先向臨時快取中寫入,再向檔案中寫入
memset(errBuf,0,sizeof(errBuf));
//利用memset函式和 char errBuf[100]={0}; 是一樣的效果,都是將整個陣列都賦值空字元。
if (!sockfile.Open(sockfilename, CFile::modeNoTruncate|CFile::modeCreate | CFile::modeReadWrite))
{
//AfxMessageBox(_T("啟動Socket失敗"));
lasterror = "啟動Socket失敗";//這個為什麼可以不用TCHAR型別字元初始化
sockfile.Close();
return FALSE;
}
sockfile.SeekToEnd();
sprintf_s(errBuf, "客戶端已經啟動...正在準備傳送資料...\r\n時間:%d年%d月%d日 %2d:%2d:%2d \r\n" , t.wYear, t.wMonth, t.wDay,
t.wHour, t.wMinute, t.wSecond);
int len = strlen(errBuf);
sockfile.Write(errBuf, len);
}