[英]How to change a text file's name in C++
我想更改一个txt
文件的名称,但我找不到如何做到这一点。
例如,我想在我的 C++ 程序中将foo.txt
重命名为boo.txt
。
#include <stdio.h>
(或<cstdio>
)并使用rename
(或std::rename
):
rename("oldname.txt", "newname.txt");
与普遍的看法相反,它包含在标准库中,并且在一定程度上是可移植的——当然,字符串的允许内容会随着目标系统的不同而变化。
文件系统支持是 C++ 标准库中明显没有 . 正如 Jerry Coffin 的回答所示,实际上在 stdio 中有一个重命名 function (与我分享的普遍看法相反)。 然而,标准库没有涵盖许多与文件系统相关的设备,因此存在 Boost::Filesystem(特别是操作目录和检索有关文件的信息)。
这是一个设计决策,以使 C++ 的约束更少(即可以在各种平台上编译,包括不存在文件概念的嵌入式系统)。
要执行文件操作,有两种选择:
使用目标操作系统的API
使用提供跨平台统一接口的库
Boost::Filesystem就是这样的 C++ 库,它抽象了平台差异。
您可以使用Boost::Filesystem::rename 重命名文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.