−2
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
string rec(const string str, char c){return str;}
void cer(){}
main(){
string s,d="Text",a;
ifstream fin;
vector<string> mas;
fin.open("test.txt");
//if (fin.is_open()) cout<<"1";else cout<<"0";
while(fin>>s)
{bool f=0;
for(int i=0; i<s.size(); ++i)
if (s[i]==d[0])
{
f=1;
for (int j=0; j<s.size()&&j<d.size(); ++j)
if (d[j]!=s[i+j]) f=0;
if (f)
{
a.clear();
for (int j=0; j<i; ++j)
a=a+s[j];
a=a+"Hi";
for (int j=i; j<s.size(); ++j)
a=a+s[j];
}
}
if (f) {mas.push_back("\n");mas.push_back(a);mas.push_back("\n");}
else mas.push_back(s);
s=rec(s,'0');
}
ofstream fout;
fout.open("output.txt");
for (int i=0; i<mas.size(); ++i) fout<<mas[i]<<"\t";
}
ДД всем просветленным.
Есть код на С++ , который нормально компилируется и меняет текст в указанном файле. Вопрос: как его использовать для изменения данных при парсинге сайта. По логике Tokenizer передает лексемы в Parser для дальнейшего построения DOM. Значит надо добавить подобный код в Tokenizer, чтобы он передавал уже исправленные данные. Но на практике Tokenizer работает с Buffer(nsHtml5Tokenizer::tokenizeBuffer( nsHtml5UTF16Buffer* buffer)), причем с логическим(bool), а код для строчки из файла.
Как вариант добавить в сам Parser(nsHtml5Parser::Parse(const nsAString& aSourceBuffer, void* aKey, const nsACString& ContentType, bool aLastCall, nsDTDMode aMode) , но не могу разобраться как это сделать.
При компиляции вылетает куча ошибок.
Использованные файлы: nsHtml5Parser.cpp и nsHtml5Tokenizer.cpp, FireFox(версия 47), компилятор MSVS2013.
Запостил: DrAli,
12 Октября 2018
OBEH 12.10.2018 08:43 # −1
DrAli 12.10.2018 09:02 # 0
OBEH 12.10.2018 09:16 # −1
DrAli 12.10.2018 10:45 # 0
chtulhu 12.10.2018 09:56 # −1
DrAli 12.10.2018 10:46 # −2
DrAli 12.10.2018 10:46 # −2
DrAli 12.10.2018 11:40 # −2
OBEH 12.10.2018 23:30 # −1
DOKTOPuHXO 12.10.2018 23:37 # −2
DrAli 16.10.2018 08:07 # 0
есть дельные мысли по теме?
DrAli 15.10.2018 09:43 # −1
kir_rik 15.10.2018 13:29 # −104
Давай лучше я в твой загляну, мне как раз надо слить...
OTCYTCTBYl0LLLuu_xyu 15.10.2018 14:50 # 0
KaKou-To_xyu 16.10.2018 12:00 # 0
DrAli 17.10.2018 08:52 # 0
как это реализовать?
вот по железякам - это ко мне, а прописать код- нужна помощь
KaKou-To_xyu 17.10.2018 11:08 # 0
Вот тута описание класса:
https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Glue_classes/nsAString/
Дальше сам, на этом я закончился и началась моя лень, всё. Я C++-то тольком не знаю, а тут ещё и фаерфокс, много тысяч строк и какие-то левые либы с какими то абсратыми классами.
DrAli 18.10.2018 08:54 # 0
BEPETEHO 18.10.2018 09:07 # 0
Кончил тебе за щеку, проверь.
guest8 18.10.2018 09:52 # −999
DrAli 19.10.2018 07:22 # 0
DrAli 19.10.2018 07:22 # 0
DrAli 22.10.2018 14:10 # 0
CJlEW 22.10.2018 14:28 # 0