您好我正在编写一个打开目录,读取所有zip文件并解压缩它们的程序,然后我想创建和html文件并在新的html文件中显示解压缩文件夹中的所有图片。我曾经读到使用ofstream是一个好主意,我一直在努力...但我不能让照片显示出来。
这是我到目前为止编写的代码
我真的很想知道如何显示照片以便它们起作用,特别是这部分--- myfile<<“”;
谢谢
// HTML部分
std::ifstream fin_html;
std::string dir_html, filepath_html;
int num;
DIR *dp_html;
struct dirent *dirp_html;
dir_html = dir + "/" + "ExtractedZipFiles";
dp_html = opendir( dir_html.c_str() );
if (dp_html == NULL)
{
std::cout << "Error opening " << dir_html << std::endl;
}
char test_html[2];
std::ofstream myfile;
std::string htmlFile= dir + "/" +"Images";
myfile.open (htmlFile.c_str());
myfile<<"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN \" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd \">";
myfile<<"<html xmlns=\"http://www.w3.org/1999/xhtml\" >";
myfile<<"<head>";
std::string title="Sample Data";
myfile<<"<title>"<<title<<"</title>";
myfile<<"</head>";
myfile<<"<body>";
myfile<<"<br />";
myfile<<"<HR />";
myfile<<"beta data ";
while ((dirp_html = readdir( dp_html )) != NULL)
{ // printf(" inside the directory ");
filepath = dir+"/" + dirp_html->d_name;
filename =dirp_html->d_name;
std::cout<<filename;
myfile<<"<p>";
myfile<<"<a href=filepath>"<<filename<<"</a>";
myfile<<"</p>";
std::cout<<std::endl;
std::cout<<filepath;
std::cout<<std::endl;
test[0]=filename[0];
test[1]='\0';
std::string dir_htmlArray[12];
//dp_html=opendir(dir_html.c_str());
for (int i=0;i<=11;i++)
{
dir_htmlArray[i]= "ExtractedZipFiles"+filename+nameArray[i];
}
myfile<<"<a href=dir_htmlArray1> <img src=dir_htmlArray1 width=24% border=0/> </a>"; //rtyin
}
// return 0;
myfile<<"</body></html>";
myfile.close();
}
答案 0 :(得分:0)
这就是没有显示图像的原因
myfile<<"<a href=dir_htmlArray1> <img src=dir_htmlArray1 width=24% border=0/> </a>"; //rtyin
如果你看一下你生成的HTML,你可能会看到像这样的东西
...
<a href=dir_htmlArray1> <img src=dir_htmlArray1 width=24% border=0/> </a>
</body></html>
您要做的是将这些硬编码字符串替换为您解析的图像文件的有效路径。我不知道您的目录结构是什么样的,但有效的HTML img源看起来像
<img src="PATH_TO_IMAGE" />