如何在 c++ 中的 HTML 文件中插入图像

How to insert an image in a HTML file in c++?

本文关键字:文件 插入 图像 HTML 中的 c++      更新时间:2023-10-16

我使用Windows 7和VS2010构建一个C++MFC项目来执行一些测试。

在测试结束时,我编写了一些代码将测试结果保存到 HTML 文件中。现在我想将一些测试结果照片 D://添加到HTML文件中。

C++有可能做到这一点吗?

在测试结束时:

WriteReport(m_report_info);   //writereport

定义:

BOOL CControllerDlg::WriteReport(REPORT_INFO reportInfo)
{
if(reportInfo.m_bt_addr.IsEmpty()) return FALSE;
CString strTime = CTime::GetCurrentTime().Format("%Y%m%d%H%M%S");
CStdioFile htmlFile;
CString res = (reportInfo.m_bt_result?"Pass":"Fail");
CString html_name;

......

if(htmlFile.Open(html_name,CFile::modeCreate | CFile::modeReadWrite))
{
    CString strHTML =  "<html>";
            strHTML += "<title>Test Report</title>";
            strHTML += "<body>";
            strHTML += "<h1 align=center>Test Report</h1>";


            strHTML += "</body>";
            strHTML += "</html>";
    htmlFile.WriteString(strHTML);
    htmlFile.Close();
}
else
{
    return FALSE;
}
return TRUE;
}

照片为 D://test//photo1。我想将照片插入报告 HTML 文件的正文部分。我正在使用C++,所以它与前端方法不同。

使用 HTML <img> 标记插入图像。

请注意,HTML 文件需要 UTF8 内容,因此您可能希望用 Unicode (UTF16) 编译程序,然后将文本转换为 UTF8,如下所示:

if(htmlFile.Open(html_name, CFile::modeCreate | CFile::modeWrite))
{
    CStringW strHTML = L"<!DOCTYPE HTML><html>";
    strHTML += L"<title>Test Report</title>";
    strHTML += L"<body>";
    strHTML += L"<h1 align=center>Test Report</h1>";
    strHTML += L"<img src="file:///D://test//photo1.jpg" />";
    strHTML += L"</body>";
    strHTML += L"</html>";
    CStringA utf8 = CW2A(strHTML, CP_UTF8);
    htmlFile.Write(utf8.GetString(), utf8.GetLength());
    htmlFile.Close();
}