запись в html файл через программу c ++

0

Привет Я пишу программу, которая открывает каталог, читает все zip файлы и распаковывает их, затем я хочу создать и html файл и показать все фотографии в распакованных папках в новом html файле. Я читал, что использование потока - хорошая идея, и я пытаюсь с этим... но я не могу отобразить фотографии.

вот код, который я написал до сих пор

Мне бы очень хотелось узнать, как отображать фотографии, в которых они работают, особенно эта часть --- 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();
}
Теги:

1 ответ

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" />
  • 0
    так было бы, как этот myfile << "<a href =" << dir_htmlArray [1] .c_str () << ">" << "<img src =" << dir_htmlArray [1] .c_str () << "width = 24% border = 0 /> </a>";
  • 0
    ИЛИ myfile << "<a href =" << dir_htmlArray [1] .c_str () << ">" << "<" img src "dir_htmlArray [1] .c_str ()" << "width = 24% border = 0 /> </a> ";
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню