製作網頁時常需將現有 TXT 內容轉為 HTM。本文示範用 VC++ 對話框專案實作極簡轉換工具:讀取 TXT → 加上 HTML 標籤 → 存為 HTM。
m_TXT (來源 TXT 路徑)、m_HTM (目標 HTM 路徑),關聯 CString 變數。IDC_BUTTON_CONVERT,處理轉換邏輯。void CMyDialog::OnButtonConvert()
{
UpdateData(TRUE); // 從控件取得路徑
CStdioFile srcFile;
if (!srcFile.Open(m_TXT, CFile::modeRead | CFile::typeText)) {
AfxMessageBox(_T("無法開啟來源 TXT 檔案"));
return;
}
CString strContent, strLine;
// 讀取全部內容 (此處示範逐行讀取並加
)
while (srcFile.ReadString(strLine)) {
strContent += strLine;
strContent += _T("
"); // 簡易換行標籤
}
srcFile.Close();
CStdioFile dstFile;
if (!dstFile.Open(m_HTM, CFile::modeCreate | CFile::modeWrite | CFile::typeText)) {
AfxMessageBox(_T("無法建立目標 HTM 檔案"));
return;
}
// 寫入基本 HTML 結構
dstFile.WriteString(_T(""));
dstFile.WriteString(strContent);
dstFile.WriteString(_T(""));
dstFile.Close();
AfxMessageBox(_T("轉換成功!"));
}
| 項目 | 說明 |
|---|---|
| CStdioFile | MFC 文字檔案類別,自動處理換行符與編碼 (配合 typeText) |
| ReadString | 逐行讀取,移除換行符,需自行加回 或 \n |
| WriteString | 寫入字串,不自動加換行 |
| 編碼宣告 | charset=big5 或 utf-8,視目標瀏覽器環境決定 |
| 檔名副檔名 | 目標檔名必須以 .htm 或 .html 結尾 |
CFileDialog 多選 + 迴圈處理。 或 CSS 樣式。IsTextUnicode 或第三方庫 (如 ICU) 偵測來源編碼。利用 CStdioFile 幾十行程式碼即可完成 TXT→HTM 轉換工具。掌握「逐行讀取、加標籤、寫入模板」核心流程,可快速擴充為功能完整的批次轉換器。