Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.13;
Скачать: CL | DM;

Вниз

Оцените кусок кода на 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
6-39455
smok_er
2003-01-22 10:31
2003.03.13
Навигация в WebBrowser e


1-39274
SPeller
2003-03-03 17:07
2003.03.13
Критика кода.


1-39261
BillyJeans
2003-03-03 11:00
2003.03.13
Как узнать, что курсор мыши над объектом?


14-39490
Anatoly Podgoretsky
2003-02-23 16:24
2003.03.13
Именинник 23 февраля


7-39601
Новый
2003-01-15 20:45
2003.03.13
Как определить, а затем изменить размеры рабочего стола?