Форум: "Потрепаться";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];
ВнизОцените кусок кода на C++ Найти похожие ветки
← →
igorr (2003-02-26 14:16) [0]Эта функция меняет ссылки вида file.php?11 на file11.php
для просмотра в offline.
Если есть ошибки по стилю написания кода, укажите pls
void CReplaceRefDlg::OnBtnstart()
{
CString filename,filename2;
FILE *infile,*outfile;
int ch5,ch4,ch3,ch2,ch1,ch; // для поиска .php?N
filename="C:\\file.html";
filename2=filename+"2";
if(CopyFile(filename,filename2,false) == 0){
MessageBox((CString)"File "+filename+" not found!","Error",MB_ICONEXCLAMATION);
exit(0);
}
infile=fopen(filename2,"r");
outfile=fopen(filename,"w");
ch5=getc(infile);
ch4=getc(infile);
ch3=getc(infile);
ch2=getc(infile);
ch1=getc(infile);
while((ch=getc(infile)) != EOF){
if(ch5=="." && ch4=="p" && ch3=="h" && ch2=="p" && ch1=="?" && isdigit(ch)){
while(isdigit(ch)){
putc(ch,outfile);
ch=getc(infile);
}
putc(".",outfile);
putc("p",outfile);
putc("h",outfile);
putc("p",outfile);
ch5=ch;
ch4=getc(infile);
ch3=getc(infile);
ch2=getc(infile);
ch1=getc(infile);
}
else{
putc(ch5,outfile);
ch5=ch4;
ch4=ch3;
ch3=ch2;
ch2=ch1;
ch1=ch;
}
}
putc(ch5,outfile);
putc(ch4,outfile);
putc(ch3,outfile);
putc(ch2,outfile);
putc(ch1,outfile);
putc(ch,outfile);
fclose(infile);
fclose(outfile);
DeleteFile(filename2);
MessageBox("References were changed.");
}
← →
Andrey (2003-02-26 14:26) [1]>Оцените кусок кода
59 строк.
← →
Дмитрий Баранов (2003-02-26 14:26) [2]Настоятельно советую пользоваться С++. Пример писать лень, но с использованием ifstream, ofstream, std::string и std::stringstream ваша программа будет работать ненамного медленнее, зато будет на порядок предсказуемее и устойчивей.
А так... Не проверяется фактическое открытие файлов, смесь С и С++ (используется CString и низкоуровненвые операции). Уж используйте тогда CFile и его производные.
← →
Serious Sam (2003-02-26 14:42) [3]>Оцените кусок кода
59$
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.014 c