对于文件操做,之前我主要接触的是Linux下的一套,而到了C++学习了一下,也发现了一些异同点ide
首先FILE 类须要头文件#include <stdio.h>函数
对于打开文件操做,Linux下使用的是fopen函数,而在VS2010使用这个函数便会报警告学习
error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files (x86)\microsoft visual studio 12.0\vc\include\stdio.h(211) 指针
VS本身就建议你去使用fopen_sget
erron_t ret = fopen_s(&FILE*,"FILENAME","打开方式");原型
打开成功返回0,失败返回非零值。it
值得一提的是:io
文件目录在VS下须要用\\这点不等同于Linux下的\来区分文件级别function
有个小点容易遗忘那就是,文件打开后,文件指针的位置与打开方式是有关的,具体关系以下:file
/***************************/
文件打开方式 文件指针位置
r(读文件) 文件头
w(写文件) 文件头
a(a+)追加内容 文件尾
/***************************/
在用“w”打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名创建该文件,若打开的文件已经存在,则将该文件删去,重建一个
求文件长度的话,能够经过rewind()函数将文件指针偏移到文件头,再经过fseek(FILE*, 0L, SEEK_END);
读写文件的方式
有fread fwrite fputs fgets等函数,经过这些与feof的搭配咱们能够实现读写的详细操做,具体见函数原型。
在咱们操做完后记得关闭文件句柄fclose(FILE*);