如何在C / CPP中使用ext更改文件名
How to change filename alongwith ext in C/CPP
我在一个文件夹中有数百个文件,如下所示:
mp_12345.dat
mp_23455.dat
mp_12323.dat
mp_44445.dat
.
.
.
我想将所有文件重命名到另一个文件夹:
Ind_somecircle_mp_12345.mbin
Ind_somecircle_mp_23455.mbin
Ind_somecircle_mp_12323.mbin
Ind_somecircle_mp_44445.mbin
.
.
等等。
源文件夹:/home/dir1/foo/
目标文件夹:/home/dir2/foo/
我正在寻找 C 或 C++ 代码来执行此操作。
提前谢谢。
实际上,
这对于 shell 脚本来说会是一个更好的工作,但如果你坚持使用 C,那么rename(src, tgt);
就是你正在寻找的。
如果要从目录中读取文件名,则必须使用 opendir
和 readdir
遍历文件。
一个简短的示例:
void main(int c,char **args)
{
DIR *dir;
struct dirent *dent;
dir = opendir("mydir);
if(dir!=NULL)
{
while((dent=readdir(dir))!=NULL)
printf(dent->d_name); <-- rename
}
close(dir);
}
如果你坚持使用 C/C++ 来完成你需要使用
Opendir - http://linux.die.net/man/3/opendir, readdir - http://linux.die.net/man/3/readdir 获取文件列表
使用重命名 - http://linux.die.net/man/2/rename 更改文件的文件名
相关文章:
- 从命令行c++发送文本文件名
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 为什么文件名被设置为一个点,而不是在读取矢量中的文件名时
- SampleConsensusPrerejective(ext.RANSAC)是如何真正工作的
- 当Microsoft文档仅包含 C# 示例时,如何查找 C++ 包含文件名
- 如何在CPP的给定目录中列出UTF编码的文件名?
- 在Visual Studio 2019中保存时ReadDirectoryChangesW文件名的问题
- C++:在Windows中浏览名称中带有点的文件名
- 我在 ifstream input_file(文件名)行中收到错误"no matching function to call";
- 不带预处理器的调用方法/文件的文件名/行号
- 在 C++ 中为文件名添加时间戳
- 为什么当我在 std::string 中打开文件名的 fstream 时出现"no matching function"错误?
- 如何将文件名作为参数传入并正确打开?
- 如何在目录及其子文件夹中构建文件名字符串向量?
- 要求用户输入C++输出文件名
- 从Arduino SD卡模块到Array的文件名
- 如何使用打印到 PDF 打印机在 MFC 和 CView 中以编程方式打印而不提示输入文件名?
- C++ 从变量导入文件名
- 从 Makefile 中的 $@ 获取文件名
- 如何在C / CPP中使用ext更改文件名