×
广告

C语言程序员编程学习文件操作与JSON

96
小辰带你看世界
2018.03.15 16:35 字数 1336

C语言是面向过程的,而C++是面向对象的

C和C++的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

文件描述符:FILE结构体

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

c文件操作函数

c语言提供了文件操作的相关函数,使用这些函数,可以进行文件的二进制、文本文件的读取、写入以及增加功能。

分类函数名功能

打开文件fopen()打开文件

关闭文件fclose()关闭文件

文件定位fseek()改变文件位置指针的位置

rewind()使文件位置指针重新至于文件开头

ftell()返回文件位置指针的当前值

文件状态feof()若到文件末尾,函数值为真

ferror()若对文件操作出错,函数值为真

clearerr()使ferror和feof函数值置零

文件读写fgetc(), getc()从指定文件取得一个字符

fputc(), putc()把字符输出到指定文件

fgets()从指定文件读取字符串

fputs()把字符串输出到指定文件

getw()从指定文件读取一个字(int型)

putw()把一个字输出到指定文件

fread()从指定文件中读取数据项

fwrite()把数据项写到指定文件中

fscanf()从指定文件按格式输入数据

fprintf()按指定格式将数据写到指定文件中

例如,我们可以通过fprintf()向指定的文件写入格式化的字符串,也可以通过fscanf()从指定的文件读取数据,通过rewind()使文件指针定位到文件头,使用fseek()进行文件指针位置的设置。使用fopen打开文件,打开的方式有只读、只写、读写和增加模式。

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

为什么是JSON

当使用只写方式写入时,每次写入都会将之前的数据全部覆盖掉;当使用增加方式写入时,只能从文件尾部写入,而不能从文件指定位置写入。在读取文件时,每次都是从文件开头读取,并且不能像字符串函数strstr、strchr读取文件的内容。所以使用文件操作函数要进行文件内容的读取、写入以及覆盖是一件很麻烦的事。

一种可行的办法是,可以将文件的内容全部读取到内存中,再通过字符串进行操作,可是我们这样做并没有统一标准、并且移植性也是很不好,当文件内容比较多、比较复杂、相同的数据太多时可能会出错。可以采用很多文件去保存各自的数据,可是这样会造成文件杂乱无章。

那么怎样才能在c语言中高效便捷的保存用户数据呢,希望每次断电后都能从存储设备中读取?JSON是一个很好的解决办法,可以将信息以文本的形式保存下来,便于通过第三方文本编辑软件查看和修改数据。

后面将会继续介绍JSON的概念以及操作使用,谢谢!

日记本
Web note ad 1