Главная страница
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.027 c
3-39187
Elshad
2003-02-21 11:24
2003.03.13
Пароль к sa в MSSQL Server 7.0


1-39330
aade
2003-02-28 22:23
2003.03.13
Обработка ошибки!!!!


6-39449
Nick_N_A
2003-01-18 07:40
2003.03.13
Web-Browser


14-39531
Ruf
2003-02-24 11:49
2003.03.13
установка TCP/IP


7-39620
ruslan_as
2003-01-16 12:45
2003.03.13
Тип материнки