C 语言 fprintf() 和 fwrite() 函数的区别2025年5月11日 | 阅读 7 分钟 fprintf() 函数旨在通过将数据转换为人类可读的字符串格式来将格式化文本写入文件,这使其非常适合与文本文件一起使用。相反,fwrite() 函数将内存中的原始二进制数据写入文件而不进行格式化,这使其更适合二进制文件。虽然 fprintf() 提供了格式化选项,但 fwrite() 为性能关键型应用程序提供了更快、未经格式化的数据传输。在本文中,我们将讨论 C 语言中 fprintf() 和 fwrite() 函数的区别。在讨论它们之间的区别之前,我们必须了解 C 语言中 fprintf() 和 fwrite() 函数的语法、参数、主要功能和示例。 什么是 fprintf()?C 语言中的 fprintf() 函数用于将格式化输出打印到指定的文件流,这使我们能够以受控且易于理解的方式将结构化数据写入文件。此方法使我们能够在写入数据之前对其进行格式化。当创建需要特定格式以确保一致性和清晰度的报告、日志或结构化文本文件时,它非常有用。 文件格式化打印:它意味着“将格式化输出打印到文件”。该函数接受一个文件指针(指向已打开的文件流),并使用我们指定的格式字符串准备数据,然后将输出直接写入该文件。我们可以使用 %d、%s、%f 等标准格式说明符来打印整数、字符串、浮点数等。 语法参数
返回值fprintf() 函数成功时返回写入文件的字符数(不包括空终止符),失败时返回负整数。 主要特点fprintf() 函数的几个主要功能如下:
示例让我们举一个例子来说明 C 语言中的 fprintf() 函数。 输出 File contents: Name: John Doe Age: 25 Height: 5.90 Name: Jane Smith Age: 30 Height: 5.50 Name: Alice Johnson Age: 22 Height: 5.70 Name: Bob Brown Age: 27 Height: 6.10 说明该代码使用 fprintf() 函数将格式化数据写入文件 (output.txt),然后再次读取以进行验证。它首先以写入模式打开文件,然后使用循环和 writeToFile() 函数写入带有姓名、年龄和身高条目的文件。关闭文件后,它会重新打开文件以逐个字符地读取其内容,并将其输出到控制台。文件打开和读取操作都包括错误处理。 什么是 fwrite() 函数?C 语言中的 fwrite() 函数用于将数据写入给定的文件流。它允许以各种方式将二进制或原始数据写入文件,这使其在处理非文本数据(包括图像、音频文件和自定义数据结构)时特别有用。与 fprintf() 和 fputs() 等基于文本的过程不同,fwrite() 以字节为单位精确地写入内存中存储的数据。此功能可确保没有编码或换行符转换,从而允许数据保留其原始格式。 语法它具有以下语法: 参数
返回值它返回成功写入的元素数量,如果发生错误或文件已到达末尾,则该数量可能小于 count。如果此数字小于 count,您可以使用 ferror() 来检查是否发生了错误。 主要特点C 语言中的 fwrite() 函数的几个主要功能如下:
示例让我们举一个例子来说明 C 语言中的 fwrite() 函数。 输出 Data successfully written to the file. 说明此 C 程序演示了如何使用 fwrite() 函数将整数数组写入二进制文件。它首先以二进制写入模式 (wb) 打开文件 output.bin,并检查是否成功打开。然后,使用 fwrite() 方法将数据数组中的所有五个整数写入文件,并进行错误处理以确保过程成功。最后,使用 fclose() 关闭文件以释放系统资源。 C 语言中 fprintf() 和 fwrite() 函数之间的主要区别C 语言中的 fprintf() 和 fwrite() 函数之间存在几个主要区别。一些主要区别如下:
结论总之,在 fprintf() 和 fwrite() 之间进行选择取决于文件类型和要处理的数据。使用 fprintf() 将格式化的、人类可读的文本写入文本文件,使用 fwrite() 将原始的、未格式化的二进制数据写入二进制文件。理解它们的区别可以确保 C 语言编程中的文件操作高效且适当。 |
我们请求您订阅我们的新闻通讯以获取最新更新。