从0开始跟小甲鱼C语言视频使用linux一步步学习C语言(持续更新)8.16

第十八天

第六十一,六十二,六十三和六十四集

第六十一集

fclose函数

其作用就是关闭文件

原理就是使文件的指针变量指向该文件了。

而且他还会返回值,如果关闭成功返回哦,没有成功就是返回EOF也就是-1.

对文件的读写

有以上这些函数

fputc()

这个是字符输入函数

如fputc(ch,fp)就是将ch里的值,也就是字符输出到fp指向的文件里面,

注意用读或写的方式打开一个已经存在的文件时会清除内容,文件首开始写起,想要不清除,就要用追加的方式打开文件,被写入的文件不存在,就会创个新文件。

这个也有返回值,写入成功返回写入的字符,不成就返回EOF

至于这里为什么,少了一个getchar就会多一个空行,是不是因为上面录入文件名字时,键盘摁下了回车,然后这个把这个回车录入了进去呢???

fgetc()函数

读取字符的作用

如ch=fgetc(fp);

就是fp为要读取的地址,读取了给ch

使用注意,我们读取的文件必须是以读或读写的方式打开,文件里有个位置指针,指向当前读写的字符,打开文件,其总会指向文件的第一个字符,使用了fgrtc函数之后,该指针会向后一个字节

键盘Ctrl+z等于EOF

feof函数

第六十二集

图片合成器

这个东西有趣啊。根据视频,大家都很清晰的知道了,这个转换其实是一个文件有两种不同形式的文件内存,只又后缀符合文件内容的形式才会运行。

这里面有个feof可以判断文件内的位置指针是否在于末尾,如果在末尾会返回非0,不在时会返回0,这个用来确定我们现在是否在于末尾。

字符串的读写

fgets函数

fputs函数

为啥不用scanf呢?

因为其不会录入空格等字符,会直接结束

数据块读写函数

第六十三集

格式化读写函数

随机读写

利用fseek函数的功能实现

ftell函数

ferror函数

clearerr函数

本章小结


第六十四集

位运算

按二进制进行的运算。有一下操作符

&运算符


如图示两个二进制的码按行列下来,然后进行&运算,两个码的每个位置和下面的位置对比,如这里是&运算,我们看最后一个列,上面是1,下面是1,&都是1,输出1,就是这样算的。

他有清零作用

这里小编是听不懂小甲鱼在说啥的,反正他有清零作用就对了

还有取一个数中的某些指定位,如图

|运算符

例题这里

大家有没有对这里ch&32感到疑惑的,为什么是这个条件,他是怎么判断的?

因为32的二进制是0010 0000,因为这里除了第三个数字1,其他都是0,所以不论其他数字是多少,都会由于&运算输出为0,但是第三个数字是1,如果ch的第三个数字是1,那么会输出0010 0000,判断为真,如果ch第三个数字为0,那么会输出0000 0000

,判断为假

异或运算符

作用如图

交换值的这个作用很有意思

右上角是异或运算之后的数,我们发现,结果和a或b异或运算后会返回b或a,也就是三之间可以通过异或互相转换。我们就看结果为c

a=a异或b其实就是c

b=b异或a,刚刚a赋为c了,所以是b=b异或c,得b=a了

然后a=a异或b,刚刚b赋为a了,a还是c,所以是a=c异或a,得a=b了

真有意思吧

总结

fclose,fputc,fgetc,feof,fgets,fputs,数据块的读写,格式化的读写,fseek,ftell,ferror,clearerr。&,|,异或这三个运算符。

今天也就结束了,没有什么了,喜欢的点点赞,作者也是初学者,可以大家一起交流,老手看到错误或者不好的地方,在评论区留言,作者我大大感谢!!