- 注册时间
- 2005-9-12
- 最后登录
- 1970-1-1
|
因为还没做好~故发了最原始的上来~
哪些不足或错的请大家指教~!- char fp;
- long openfile(int o){
- char i,l;
- char fname[20];
- char noww[60];
- memset(fname,0,20);memset(noww,0,60);
- strcat(fname,o);
- if(ChDir(fname)){
- strcat(noww,fname);strcat(noww,"/");
- }
- else ChDir("/");
- while(1){
- if (FileList(fname)){
- if(!strcmp(fname,"..")){
- if(!strcmp(fname,"..")&&strlen(noww)==1)return '0';
- for(i=strlen(noww);noww[i]!='/'&&i>0;i--){
- if(i<0)noww[i]=0;else strcpy(noww,"/");
- ChDir(noww);
- }
-
- continue;
- }//..
- if(ChDir(fname)){strcat(noww,fname);strcat(noww,"/");}
- else {strcat(noww,fname);return noww;}
- }//if
- else {
- if(strlen(noww)==1)return '0';
- for(i=strlen(noww);noww[i]!='/'&&i>0;i--){
- if(i<0)noww[i]=0;else strcpy(noww,"/");
- ChDir(noww);
- }
- }
- }
- }
- int sl(long x){
- int i,l,o;
- char ts[100],zf[100];
- memset(zf,0,100);
- strcpy(ts,x);
- i=strlen(ts);
- for(l=0;l<i;l++){
- if(ts[l]/16==0)strcat(zf,"0");
- if(ts[l]/16==1)strcat(zf,"1");
- if(ts[l]/16==2)strcat(zf,"2");
- if(ts[l]/16==3)strcat(zf,"3");
- if(ts[l]/16==4)strcat(zf,"4");
- if(ts[l]/16==5)strcat(zf,"5");
- if(ts[l]/16==6)strcat(zf,"6");
- if(ts[l]/16==7)strcat(zf,"7");
- if(ts[l]/16==8)strcat(zf,"8");
- if(ts[l]/16==9)strcat(zf,"9");
- if(ts[l]/16==10)strcat(zf,"A");
- if(ts[l]/16==11)strcat(zf,"B");
- if(ts[l]/16==12)strcat(zf,"C");
- if(ts[l]/16==13)strcat(zf,"D");
- if(ts[l]/16==14)strcat(zf,"E");
- if(ts[l]/16==15)strcat(zf,"F");
- o++;
- if(ts[l]%16==0)strcat(zf,"0");
- if(ts[l]%16==1)strcat(zf,"1");
- if(ts[l]%16==2)strcat(zf,"2");
- if(ts[l]%16==3)strcat(zf,"3");
- if(ts[l]%16==4)strcat(zf,"4");
- if(ts[l]%16==5)strcat(zf,"5");
- if(ts[l]%16==6)strcat(zf,"6");
- if(ts[l]%16==7)strcat(zf,"7");
- if(ts[l]%16==8)strcat(zf,"8");
- if(ts[l]%16==9)strcat(zf,"9");
- if(ts[l]%16==10)strcat(zf,"A");
- if(ts[l]%16==11)strcat(zf,"B");
- if(ts[l]%16==12)strcat(zf,"C");
- if(ts[l]%16==13)strcat(zf,"D");
- if(ts[l]%16==14)strcat(zf,"E");
- if(ts[l]%16==15)strcat(zf,"F");
- o++;
- }
- return zf;
- }
- void main(){
- char f,sstr[50],show[30],shoo[30],ch,tmp,new,tt[1000];
- int x,y,i;
- long l,k,d,nowp,hh[5];
- i=openfile("/");
- fp=fopen(i,"r+");
- if(!fp)exit(0);
- y=y+2;hh[0]=0;
- k=fseek(fp,0,2);k=k-1;
- printf("%d",k);
- getchar();
- rewind(fp);
- while(1){
- k=fseek(fp,0,2);k=k-1;
- rewind(fp);
- if(new==2){if(hh[4]>=k-8);else hh[0]=hh[1];;}
- if(new==1)hh[0]=hh[0]-8;
- ClearScreen();
- for(i=0;i<5;i++){
- if(nowp>=hh[i])y=i;
- hh[i+1]=hh[i]+8;
- }
- for(i=0;i<5;i++){
- memset(show,0,30);
- if(hh[4]>=k){hh[0]=k-40;}
- if(nowp>k)x=k%8*12;
- else x=(nowp-hh[y])*12;
- fseek(fp,hh[i],0);
- fread(show,1,8,fp);
- l=sl(show);
- TextOut(1,i*13+2,l,1);
- TextOut(105,i*13+1,show,1);
- sprintf(sstr,"%d",nowp);
- TextOut(1,70,sstr,1);
- }
- Block(x,y*13+1,x+12,y*13+13,2);
- Refresh();new=0;
- ch=getchar();
- if(ch==30){
- l=ss();if(l=='0')continue;
- SetScreen(1);
- printf("%d",l);getchar();
- nowp=l;
- hh[0]=l-l%8;continue;
- }
- if(ch==20){
- if(hh[0]==0&&nowp<hh[1]){hh[0]=0;continue;}
- nowp=nowp-8;
- if(y==0){new=1;continue;}
- }//20结束
- else if(ch==21){
-
- if(y==4)new=2;
- nowp=nowp+8;
- if(nowp>=k){nowp=k;continue;}
- }//21结束
- else if(ch==23){
- if(hh[0]==0&&nowp<=hh[0]){hh[0]=0;nowp=0;continue;}
- if(nowp<=hh[0]){new=1; nowp--;continue;}
- nowp--;
- }//23结束
- else if(ch==22){
- if(nowp==k)continue;
- if(nowp==hh[4]+7){nowp=nowp+8;new=2;continue;}
- nowp++;
-
- }//22结束
- if(k<8)hh[0]=hh[0]-40;
- if(ch==13){
- l=input("请输入替换的字符串");
- strcpy(shoo,l);
- fseek(fp,nowp,0);
- fwrite(shoo,1,strlen(shoo),fp);
- }
- if(ch==27){fclose(fp);exit(0);}
- }//while结束
- }//main结束
复制代码 |
|