文件操作如何在C++;因为它们不同于Java?

文件操作如何在C++;因为它们不同于Java?,java,c++,file,methods,Java,C++,File,Methods,我是一名Java开发人员,所以在尝试对文件进行操作时,需要实例化类的对象file。默认情况下,对象将具有诸如getAbsoluteFile()之类的方法 在C++中,根据,您使用一个名为file的类型,它在STDIO .h头文件中定义。因为它不是一个对象而是一个类型,所以它不会有方法,所以如何对它进行操作——特别是如何重命名文件 如果有一个对象,它与C++有不同的方法,如果它与java不同(从文件场景判断它似乎不同),那么,什么是等价的?p> 不重命名文件,而是重命名文件。有一个名为rename

我是一名Java开发人员,所以在尝试对文件进行操作时,需要实例化类的对象file。默认情况下,对象将具有诸如
getAbsoluteFile()
之类的方法

在C++中,根据,您使用一个名为file的类型,它在STDIO .h头文件中定义。因为它不是一个对象而是一个类型,所以它不会有方法,所以如何对它进行操作——特别是如何重命名文件


如果有一个对象,它与C++有不同的方法,如果它与java不同(从文件场景判断它似乎不同),那么,什么是等价的?p> 不重命名文件,而是重命名文件。有一个名为

rename
的函数可以重命名文件。它不在对象上操作,因为C++从没有对象的C继承它。它只是一个将旧名称和新名称作为参数的自由函数

#include <stdio.h>
rename("oldFileName.txt", "newFileName.txt");
#包括
重命名(“oldFileName.txt”、“newFileName.txt”);

如果不重命名文件,则需要重命名文件。有一个名为
rename
的函数可以重命名文件。它不在对象上操作,因为C++从没有对象的C继承它。它只是一个将旧名称和新名称作为参数的自由函数

#include <stdio.h>
rename("oldFileName.txt", "newFileName.txt");
#包括
重命名(“oldFileName.txt”、“newFileName.txt”);

<代码> > p> <代码>文件<代码>是C标准库,包含在C++中,用于向后兼容性。C不支持OOP,所以根本没有方法。您可以使用自由函数操作
文件
s

如果您查看链接站点上的侧栏,您将看到
cstdio
标题中的函数列表。大多数名称以f开头的函数都将
文件*
作为第一个参数。重命名您可以使用的文件;它不采用
文件*
,而是采用两条路径(如
char*


<> P>文件I/O的C++方式更多,

< P> <代码>文件<代码>是C标准库,包含在C++中,用于向后兼容性。C不支持OOP,所以根本没有方法。您可以使用自由函数操作
文件
s

如果您查看链接站点上的侧栏,您将看到
cstdio
标题中的函数列表。大多数名称以f开头的函数都将
文件*
作为第一个参数。重命名您可以使用的文件;它不采用
文件*
,而是采用两条路径(如
char*


<> >做文件I/O的C++方式更多,使用< /P> < p>比较两种不同的事物。

在Java中,一个对象描述文件系统中的一个事物,要改变/添加文件中的数据,必须从文件中创建一个流


在C语言中,文件是打开文件的句柄,用于更改文件中的数据。在C++中,你应该真正使用。C和C++标准没有java文件的等价性,NeaSead等价物是.< /p> 你正在比较两个不同的东西。 在Java中,一个对象描述文件系统中的一个事物,要改变/添加文件中的数据,必须从文件中创建一个流


在C语言中,文件是打开文件的句柄,用于更改文件中的数据。在C++中,你应该真正使用。C和C++标准没有java文件的等价性,NeaSead等价物是../p>实际上是在谈论C++文件功能,而不是C++。不像java,C和C++都没有“文件系统”的概念。因此,在任何一个语言的标准库中都没有文件名、重命名、删除或列出目录。@ KeRekSB C++有两个函数,即:代码>删除< /代码>(删除文件)和<代码>重命名< /Cord>(重命名文件)。但是,这是关于它的。实际上,你在谈论C++文件功能,而不是C++。不像java,C和C++都没有“文件系统”的概念。因此,在任何一个语言的标准库中都没有文件名、重命名、删除或列出目录。@ KeRekSB C++有两个函数,即:代码>删除< /代码>(删除文件)和<代码>重命名< /Cord>(重命名文件)。但仅此而已。此方法是否假定文件位于当前工作目录中?不完全是这样。如果路径是相对路径,则它是相对于当前工作目录的。如果它是一个绝对路径(以
/
开始,或者不管你的平台规则是什么),那么就不是了。所以你可以做
重命名(“directory/file.txt”,“foo.txt”)将当前工作目录下目录“directory”中的文件“file.txt”重命名为根目录下的“foo.txt”。此方法是否假定文件在当前工作目录中?不完全正确。如果路径是相对路径,则它是相对于当前工作目录的。如果它是一个绝对路径(以
/
开始,或者不管你的平台规则是什么),那么就不是了。所以你可以做
重命名(“directory/file.txt”,“foo.txt”)将当前工作目录中目录“directory”中的文件“file.txt”重命名为根目录中的“foo.txt”。