| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1455 人关注过本帖
标题:text
只看楼主 加入收藏
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
收藏
得分:0 
#include <stdio.h>
#include <stdlib.h>
void filename(void);
void delname(void);

void rename(void)
{
  FILE *indexfile=fopen("filename.txt","r");
  FILE *inputfile,*outputfile;
  char filepath[100]="\0";
  char outfilepath[100]="\0";
  int  i=0;
  int  j=0;
  char ch;
  while((ch=fgetc(indexfile))!=EOF)
  {
      if(ch!='\n')
      {
           filepath[i++]=ch;
          if(ch!=')'&&ch!='(') outfilepath[j++]=ch;
      }
      else if(filepath[i-1]!='e'&&filepath[i-1]!='t'&&i!=0)
      {
         
          filepath[i]='\0';
          outfilepath[j]='\0';
          inputfile=fopen(filepath,"rb");
          outputfile=fopen(outfilepath,"wb");
          while(!feof(inputfile)) fputc(fgetc(inputfile),outputfile);
          fclose(inputfile);
          fclose(outputfile);
          i=0;j=0;
      }
      else
      {
          i=0;j=0;
      }
  }






}

int main(void){
    int i = 0;
    char oldname[45];
    char newname[45];
  //  FILE * fp;
    filename();
    rename();
    //rename函数时遇到 点问题
    //这怎么写好?
   
    getchar();
    delname();
  //  fclose(fp);
    return 0;
}
void filename(void){
    system("dir /b > filename.txt");
}
void delname(void){
    if (remove("filename.txt")==0)
        ;
    else
        puts("no");
}
2015-09-16 22:19
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 21楼 erty1001
这也是一个方法,不过效率太低。

授人以渔,不授人以鱼。
2015-09-16 22:27
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
收藏
得分:0 
简单说说:

#include <stdio.h>
#include <stdlib.h>
#include <string>
void filename(void);
void delname(void);

void rename(void)
{
  FILE *indexfile=fopen("filename.txt","r");
  FILE *inputfile,*outputfile;
  char filepath[100]="\0";
  char outfilepath[100]="\0";
  int  i=0;
  int  j=0;
  char ch;
  while((ch=fgetc(indexfile))!=EOF)
  {
      if(ch!='\n')
      {
           filepath[i++]=ch;
          if(ch!=')'&&ch!='(') outfilepath[j++]=ch;
      }
      else
      {
          filepath[i]='\0';outfilepath[j]='\0';
          if(strcmp(filepath,outfilepath)==0) {i=0;j=0;continue;}
          inputfile=fopen(filepath,"rb");
          outputfile=fopen(outfilepath,"wb");
          while(!feof(inputfile)) fputc(fgetc(inputfile),outputfile);
          fclose(inputfile);fclose(outputfile);
          i=0;j=0;
      }
  }
}

int main(void){
    int i = 0;
    char oldname[45];
    char newname[45];
  //  FILE * fp;
    filename();
    rename();
    //rename函数时遇到 点问题
    //这怎么写好?
   
    getchar();
  //  delname();
  //  fclose(fp);
    return 0;
}
void filename(void){
    system("dir /b > filename.txt");
}
void delname(void){
    if (remove("filename.txt")==0)
        ;
    else
        puts("no");
}
2015-09-16 22:59
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
收藏
得分:35 
补充说明:

效率高的

#include <stdio.h>
#include <stdlib.h>
#include <string>
void filename(void);
void delname(void);




void rename(void)
{
  FILE *indexfile=fopen("filename.txt","r");
  FILE *inputfile,*outputfile;
  char filepath[100]="\0";
  char outfilepath[100]="\0";
  int  i=0;
  int  j=0;
  char ch;
  while((ch=fgetc(indexfile))!=EOF)
  {
      if(ch!='\n')
      {
           filepath[i++]=ch;
          if(ch!=')'&&ch!='(') outfilepath[j++]=ch;
      }
      else if(strcmp(filepath,outfilepath)==0) {i=0;j=0;continue;}
      else {
          filepath[i]='\0';outfilepath[j]='\0';
          rename(filepath,outfilepath);
          i=0;j=0;
      }
  }
}

int main(void){
    int i = 0;
    char oldname[45];
    char newname[45];
  //  FILE * fp;
    filename();
    rename();
    //rename函数时遇到 点问题
    //这怎么写好?
   
    getchar();
  //  delname();
  //  fclose(fp);
    return 0;
}
void filename(void){
    system("dir /b > filename.txt");
}
void delname(void){
    if (remove("filename.txt")==0)
        ;
    else
        puts("no");
}
2015-09-16 23:06
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
基于打开文件的效率都低

授人以渔,不授人以鱼。
2015-09-16 23:19
wfoo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:120
专家分:134
注 册:2011-8-6
收藏
得分:0 
linux下的rename(perl版)命令 rename  's/\((\d+)\)/$1/' *.jpg, 不知道能不能达到楼主的要求
2015-09-17 10:02
快速回复:text
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037289 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved