Главная страница
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.019 c
14-39537
SammIk
2003-02-26 12:25
2003.03.13
Архивирование


1-39383
CAMOBAP
2003-02-28 17:00
2003.03.13
Можно ли строчки Memo сделать разным цветом?


1-39266
_BasiL_
2003-03-03 16:41
2003.03.13
Variant


14-39511
y-soft
2003-02-23 16:06
2003.03.13
С днем рождения, Александр!


6-39440
kostik78ua
2003-01-24 09:47
2003.03.13
socket+ctBlocking