通过 C 更改文本文件名

标签 c file-io

我打算编辑文本文件的一些数据,这是我打算做的:

1) 读取文件的原始内容,使用单链表获取文件的数据,然后关闭文件

2) 重新打开文件但现在使用“w+”然后获取编辑的数据然后关闭文件

3) 使用fprintf 写入包含编辑数据的新文件

4) 获取文件的原始内容,然后将它们放入新文件中。

5) 将新文件的名称更改为原始内容文件的名称

现在,如何更改文本文件的名称?

我知道我的计划听起来很荒谬:

问:既然可以在原始文件中进行编辑,为什么还打算更改新文件的名称?

答:我尝试使用“w+”将编辑后的数据放入原始文件中,但我在需要获取原始文件的内容并将它们再次放入原始文件中的部分迷路了。

谢谢!

最佳答案

您可以使用 rename(2)重命名文件的功能。如果你在 Windows 上并且需要支持 Unicode 文件名,你可以使用 MoveFileExW功能;但如果您只需要重命名 ANSI 文件名,请改用 rename(),因为它更便携。

关于通过 C 更改文本文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19387166/

相关文章:

c - 如何将字符串的一部分复制到另一个变量?

c++ - 从文件中获取信息而不遍历其内容

Java 按日期保存对象

c++ - 无法通过 open() 创建的文件授予其他人对我的写入权限

c - TCP 标志未通过 nmap Xmas 扫描设置

c - 在 c 中打印形状 x 次

其运算选择中带有输入字符串的计算器

python - Python 和 C 之间 ntohl 和 htonl 的不同行为

c++ - 在 C++ 中打开文件

c++ - 从vector <unsigned char>写入PGM文件