关于C语言中文件操作的一些知识(小白刚体验)

这两天做一个C的课程设计,其中涉及到了挺多的文件处理,首先面临的问题是从文件中获取我需要的内容。最大的发现也在于这里


当我使用fgets()函数时,好玩的东西出现了,当前我的文件中的内容为

4-2=

我使用fgets()函数进行读取:

fgets( str , 6 , fp );

其中str为我定义的字符型数组,接下来我进行了一个尝试,本意是收集整个字符串大概需要多少,然而我有一次不小心写成了1,即:

fgets( str ,1 , fp  );

然后使用printf()语句输出str后发现为一个换行符,也就是说每个文件的开头都有一个换行符,这一点可能并没有什么用,但是感觉很好玩,所以分享一下。

不过之后我选择了fscanf()的方法来读取文件内容了,因为配合起fprintf()来使用更加的方便,快捷。


之后也是我所遇到的最难点,假设一个文件内容为

4+3=

1-2=

此时我算出了4+3的结果,想往后插入的时候,发现,插入的结果会顶替掉后面的字符,最终文件内容变成了 4+3=7-2=

当然最后经过问大神以及研究,知道了解决的办法,具体方法为:

1.直接重新构造整个字符串,然后再一次性写入文件当中

2.使用文件内存映射的方法,直接使用指正的方式读写文件中的内容


以上就是对于文件操作的一些收获,如果是希望获得文件操作具体的使用知识的可能作用不大,也有很多大神写了具体的,本文纯属经验分享。谢谢

你可能感兴趣的:(C语言学习)