使用c重命名和从目录移动文件

时间:2018-04-22 04:45:17

标签: c

我正在制作一个自制的小程序,这将使我的生活更轻松。

这个想法是它查看目录,查看其中的文件名,从文件名中删除所有特定字符组合和某些字符,然后将新命名的文件复制到单独的文件夹,并删除原始文件。

我可以完成其中的大部分工作。我不知道的是如何将文件名加载到我的程序中我可以想出其他所有内容,因为我知道如何操纵C中的字符串等等。

我一直在寻找一种易于实施的解决方案,但却一无所获。

tldr:

查看目录 加载所有文件名 根据条件更改所有文件名 将文件复制到新目录。

我真的不知道如何做第1,2或4步。

我不希望你们为我编写程序,即使是图书馆,如果有的话,命令建议会很棒。

1 个答案:

答案 0 :(得分:1)

查看一些相关问题:How can I get the list of files in a directory using C or C++? Read file names from a directory

如本页所述: https://www.geeksforgeeks.org/c-program-list-files-sub-directories-directory/

使用<dirent.h>模块,执行此操作:

#include <stdio.h>
#include <dirent.h>

int main(void)
{
    struct dirent *de;  // Pointer for directory entry

    // opendir() returns a pointer of DIR type. 
    DIR *dr = opendir(".");

    if (dr == NULL)  // opendir returns NULL if couldn't open directory
    {
        printf("Could not open current directory" );
        return 0;
    }

    // Refer http://pubs.opengroup.org/onlinepubs/7990989775/xsh/readdir.html
    // for readdir()
    while ((de = readdir(dr)) != NULL)
            printf("%s\n", de->d_name);

    closedir(dr);    
    return 0;
}

允许您查看目录中的文件和目录。 我想,你应该做得好。