当前位置:  技术问答>linux和unix

写了个将目录下的所有大写文件名改为小写的程序,但是有点问题,大家帮忙看看?谢谢!

    来源: 互联网  发布时间:2015-10-21

    本文导语:  写了个将目录下的所有大写文件名改为小写的程序,但是有点问题,大家帮忙看看?谢谢! 程序如下: #include  #include  #include  #include  #include  int main(void) {     int length,i;     char *oldname=NULL,newname[256];     D...

写了个将目录下的所有大写文件名改为小写的程序,但是有点问题,大家帮忙看看?谢谢!
程序如下:
#include 
#include 
#include 
#include 
#include 

int main(void)
{
    int length,i;
    char *oldname=NULL,newname[256];
    DIR *dir;
    struct dirent *ent;

    if(!(dir=opendir(".")))
    {   
perror("opendir is error");
return 1;
    }

    errno=0;
    while((ent=readdir(dir)))
    {
//puts(ent->d_name);
oldname=ent->d_name;
length=strlen(oldname);
//printf("%st%dn",oldname,length);
for(i=0;id_name,newname);
// rename(ent->d_name,newname);

errno=0;
    }

    if(errno)
    {
perror("readdir is error");
return 1;
    }

    closedir(dir);

    return 0;
}

基本能转,但是有些转完后的文件名末尾有一些乱七八糟的字符
原目录内容:
rename    sdfDd3.hTm  SDFSD2.HTM  sdfsd41.htm  SDFSD5.HTM  SDFSD76.HTM  SDFSD8.HTM
rename.c  SDFSD1.HTM  SDFSD3.HTM  SDFSD4.HTM   SDFSD6.HTM  SDFSD7.HTM   SDFSD.HTM
转换后内容:
.
..
rename?    -->error
       sdfsd1.htm?    --error
sdfsd.htmm    -->error
sdfsd2.htm
sdfsd3.htm
sdfsd4.htm
sdfsd5.htm
sdfsd6.htm
rename.ct      -->error
sdfsd7.htm
sdfsd8.htm
sdfsd76.htm
sdfsd41.htm
sdfdd3.htmm    --->error

请问哪位大侠明白是怎么回事?谢谢!


|
//newname[length+1]='';
//改为
newname[length] = '';
//就好了.

|
c 里面就是这样写了,可以用shell编程(自己试吧 :)

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 写一个shell,把一个目录下所有的子目录中的文件移至本目录中,并且在文件名的前面加上子目录的文件夹名
  • jsp中如何获得当前jsp文件所在的目录,用request.getServletPath()得到的路径含有jsp文件名,有没有办法得到目录(不含文件名)?
  • 只给一个目录路径,怎样再在其下建立一个新的目录(给定目录名),然后再在其下建立一个新的文件(给定文件名)?
  • 在Redhat Linux下如何只列出当前目录下的子目录名而不列出文件名?
  • 请问,如何获得某个目录下所有的文件名,包括子目录的。
  • 紧急求助:怎么获取一个目录中的所有目录和文件名?
  • 怎样列出目录下面的文件名和文件大小?
  • 如何 列出目录下包含指定内容的文件的文件名?
  • 请问bash中如何获取一个项目目录下的执行文件的文件名?
  • 如何ls只输出子目录名,不输出文件名??
  • 根据文件名拷贝文件到其它目录
  • 怎样一个一个的获得指定目录下的文件名.
  • 如何在File file=new File(String fileName)中的文件名用类所在的目录下的相对文件名?
  • fedora8:每次编辑一个文件之后,目录下面都会多一个“文件名~”的文件?
  • 请教:如何选择拷贝出目录里面部分文件?文件名格式见内
  • linux下用c语言如何在不知道文件名的情况下读去一个目录里的所有文件?
  • 怎样让一个.SH文件在任何目录下都可以直接敲入文件名*.SH就可以运行?
  • linux 如何在某目录中只列出n个文件名的列表?
  • 在shell下,如何获得一个目录下的文件名?
  • 如何删除目录中文件名小于某个字符串的所有文件 shell
  • python读文件,写文件操作以及目录操作
  • 怎样在linux下用命令实现cp目录a下的子目录的所有内容到b目录中,只cp目录a的子目录内容???
  • Linux下通过rpm安装软件详细介绍以及如何将软件安装到指定目录
  • 怎样在linux下用命令实现cp目录a下的字目录的所有内容到b目录中,cp子目录内容???
  • 怎样用chown改变目录的所属用户和组时,怎样把这个目录下的子目录和所有子目录里的文件的所属用户和组都同时该了啊
  • 请问LINUX行命令方式怎么COPY一个目录下所有文件和子目录到另一个目录下
  • 如果计算一个目录下面所有指定类型文件的数目和总大小(包括该目录下所有的子目录)
  • 如何将目录下所有的子目录及文件复制到另一目录下
  • 为什么在我的linux7.0中,/usr/src/目录下只有redhat目录而没有linux目录?
  • 我的sun5.8工作站下目录下空间不够,其他目录还有空间,怎么把其他目录下的空间分配过来?
  • 源代码分布在几个不同的目录中,如何在 Makefile 文件中,给出相应的目录??我不知道怎么将目录加进去!55555


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3