gpt4 book ai didi

C++ 将 FILE * 作为参数传递给函数

转载 作者:可可西里 更新时间:2023-11-01 11:13:01 26 4
gpt4 key购买 nike

我想将 FILE * 传递给另一个函数。在此函数中,使用 fread 从文件中读取一些字节。不执行写入。

我在想该不该说

void DoSomething(FILE *uFile)

void DoSomething(const FILE *uFile)

我害怕在某处引入内存泄漏,并认为 const 可能更安全。我担心当我不正确地传递它时,该函数可能会创建文件的拷贝。

我像这样创建 FILE *:

FILE *outfile  = fopen("c:\\myfile.dat", "wb");

谢谢。

最佳答案

无论您将 FILE* 传递给哪个函数,最终都会调用 fread/fscanf/fwhatever。如果您看一下,所有这些函数都采用(非常量)FILE*

您需要准备好为这些功能提供它们所需的功能。如果它们的原型(prototype)采用非 const 参数,而您尝试给它们一个 const 参数,您将收到编译器警告。

出于这个原因,我将传入一个非常量 FILE*

关于C++ 将 FILE * 作为参数传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19334050/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com