對於文件操做,之前我主要接觸的是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*);