通过C更改文本文件名

时间:2013-10-15 17:18:15

标签: c file-io

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

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

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

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

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

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

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

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

问:为什么只能在原始文件中进行编辑时,为什么要更改新文件的名称?

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

谢谢!

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:-1)

您只需使用系统调用即可。在linux中,它将类似于:

system("mv old-file-name new-file-name");