在用C语言工作时,你一定听说过文件处理。这是一个在C语言开发者和程序员中广为人知的概念。它是一个简单易行的概念,即创建一个文件,打开一个文件,向文件中读写,并关闭文件。C语言使用不同的内置方法来实现所有这些功能。
今天,我们将学习在Ubuntu 20.04 Linux系统上工作时用C语言向文件写入不同的文件处理内置功能。首先使用 "Ctrl+Alt+T "快捷键启动Linux终端。
例子01:使用fprintf()方法
我们将通过在Linux系统中创建一个新的C文件开始我们的第一个例子。因此,"touch "查询将被用于此。文件名已经给定为 "file.c"。在创建文件之后,我们需要打开它,在里面写一些C代码。这需要在你的系统上安装一些编辑器。在Linux中,有几个编辑器可用。我们在这里使用的是 "GNU Nano "编辑器。所以,命令中的 "nano "关键字表明使用Nano编辑器来编辑C文件。
我们必须添加C语言的标准库。非常著名的和总是需要的库是标准的输入输出头,在我们的代码中用 "#include "关键字在文件的顶部添加。开始初始化一个 "main "方法。在main()方法中,你需要首先创建一个文件描述符,即文件对象。这个描述符将被用来打开、关闭、读取、写入文件,并且必须是一个指针类型。
我们使用这个文件对象描述符来打开文件,使用C语言中广为人知的 "open() "方法。这个方法的参数中有两个参数。第一个是文件的 "路径",另一个是打开文件的 "模式"。需要注意的是,在Linux环境下,你不需要创建一个新文件来添加数据。
在Linux中,你可以简单地在 "open() "方法的路径参数中输入名称,你的文件就会在指定的位置自动生成。我们已经添加了 "w+"模式,让用户写和编辑文件。
现在,重点来了。这里使用了 "fprintf "子句,在描述符 "f "的帮助下,将数据写入文件 "new.txt "中。在写入文件后,你需要关闭文件描述符,以避免让用户做更多的事情,这里使用了 "close() "函数。主方法将在这里结束。保存这段代码并通过 "Ctrl+S "和 "Ctrl+X "退出编辑器。
要执行C语言代码,我们需要先编译它。如果你的Linux系统中没有C语言编译器,可以尝试使用 "gcc"。所以,我们用 "gcc "命令连同文件名 "file.c "来编译其中的代码。如果编译没有返回任何东西,这意味着你的代码是没有错误的。
我们已经用"./a.out "命令执行了它。执行的结果也没有返回任何东西。现在,用 "cat "查询来检查由这段代码创建的文件,即 "new.txt"。你会看到,数据已经成功地写入了文件中。
例02:使用fputc()方法
这个函数被称为一次在文件中写入一个字符。让我们开始看看它是如何工作的。打开同样的C文件,使其达到最新状态。在添加头文件输入输出库后,初始化main()方法。在main方法内,添加指针型文件描述符。这个文件描述符是用C语言的 "fopen() "函数打开文件 "new.txt"。
语法与上述例子相同。唯一需要改变的是 "fputc "函数在这里接受两个参数。一个是数据,即字符,另一个是用于指定文件的文件描述符。在将数据添加到文件后,描述符被用来用 "fclose() "方法关闭文件。
先编译文件,之后再执行它。什么也没有发生,因为代码是正确的。使用 "cat "命令在shell中显示一个 "new.txt "文件的数据。旧的数据已经被字符 "A "所取代。
例三:使用fputs()方法
在这个例子中,我们将使用另一个函数,即 "fputs",将数据写入一个文本文件中。fputs()函数与 "fputc() "函数不同,因为它接受字符串类型的值,而不是一个字符。不需要改变整个代码。唯一需要改变的是 "fputs() "函数行。将 "fputc "改为 "fputs"。
我们还必须改变将被写入文件的数据。在fputc()和fputs()方法中,参数描述符指针是在 "string "之后使用的,而在 "fprintf "中,它是先使用。保存你的文件以获得更新。
让我们再一次用 "gcc "和 "a.out "命令编译和执行代码。我们获得了成功,因为数据被成功地写入了 "new.txt "文件中。
例子04:
让我们来看看一个强化的例子。打开同样的 "file.c "文件后,在顶部添加输入-输出和标准库头。之后,以 "int "的返回类型启动主方法。声明了一个字符型数组变量 "Arr",大小为1000。声明了指针类型的文件描述符,即 "f"。文件 "new.txt "已经用文件处理的 "fopen() "函数打开,文件描述符 "f "的使用。写入模式被用来打开和写入文件。
这里有一个 "if "语句。它将检查文件描述符是否与任何文件绑定,并且是空的,它将打印出有一些错误,程序将停止进一步执行。如果描述符被成功打开并创建了文件,用户将被要求通过 "printf "语句在shell终端输入一些数据。"fgets() "函数在这里是一个新概念。
它用于获取用户输入的标准输入,检查其大小,并将其保存到一个字符变量 "Arr "中。fprintf "方法用于将这个 "Arr "变量连同其描述符一起输入到文件中。文件描述符在这里得到接近。
输出结果是相当令人期待的。用户输入了一些句子,文件中的数据被显示出来了。
总结
在今天的指南中,我们已经讨论了在C语言工作时将数据写入文件的方法。我们使用了不同的C语言文件处理内置函数,即fopen、fputc、fputs、fprintf、fgets和fclose。另一方面,我们也使用了指针和数组的概念。我们非常相信这篇文章包含了理解C语言中文件编写概念所需的所有必要说明。