說起標準IO,他是基于ansic標準的。Ansic就是美國國家標準協(xié)會制定的一個標準協(xié)議,我們常見的就是c89,c99.等等。這個標準說白了就是咱們用的哪些c庫。換句話說只要有c庫就可以使用標準IO。跟咱們的操作系統(tǒng)沒有關系。
要說標準IO,我們要先知道一個結構體,F(xiàn)ILE結構體。這個結構體是用來保存文件的信息。一般我們打開文件,內容都保存在FILE結構體中。
在標準IO中我們打開文件用的fopen這個函數,當然也會有其他幾個函數,這個我就介紹最常見的。Fopen的原型就是FILE *fopen(const char*path,const char *mode);
他的返回值就是FILE結構體的指針,存放的就是文件的信息。第一個參數就是文件的路徑,第二個參數就是權限。
路徑:1.絕對路徑:就是從跟目錄開始到但當前文件的路徑,我們敲寫pwd命令就是絕對路徑。
2.相對路徑:就是當前的路徑跟你當前的文件所在的路徑相同就可以了。
權限:權限大概可以分3類。讀,寫,追加。
讀權限:r 就是read,他的作用就是一以可讀的權限打開文件。
他有個特別注意的地方就是文件必須存在,這個很好理解,要是文件
不存在,肯定不能獨缺其中的內容的。
R+ 也是讀權限,跟r基本上一樣,但是他可以同事?lián)碛凶x寫的權限,
因為他有個“+”號
寫權限:w write,他的作用就是以可寫的權限打開文件。
他要注意的地方就是,要是文件存在,文件的內容就會消失,要是不存
在就會創(chuàng)建文件。
W+ r,r+ 的關系跟w w+的關系是一樣的。W+的作用跟w是相同的
就是多了一個讀權限。
追加權限:a add 我們說過我們要用w打開文件,文件的內容就消失了,要
是我們想在文件后面接著寫內容怎么辦,就用“a”。不存在也是創(chuàng)建
文件。當然a是寫權限的
A+:a+就是有讀寫權限的a。
一般的使用就是先定義一個FILE結構體指針,然后用fopen給FILE結構體賦值。
#include
#define N 64
Int main()
{
FILE *fp;
Char buf[N];
If((fp = open(“test.c”,”w”)) == NULL)
{
Perror(“test.c”);
Fprintf(stdout,”open failed:%s\n”,strerror);
}
Char *p = “hello”;
Char *p = “wrold”;
Fprintf(fp,”helloworld”);
Sprintf(buf,”%s%s”,p,q);
Fprintf(stdout,”%s\n”,buf);
Fclose(fp);
Return 0;
}
如果當前路徑下有text.c文件就可以執(zhí)行上面的函數操作。