菜鳥之路 07

2021-07-06 04:46:08 字數 2475 閱讀 2509

檔案:

檔案的分類:

文字檔案: 一開啟就能看懂的檔案

二進位制檔案:一開啟是亂碼的東西,或者說全是二進位制數字的檔案叫二進位制檔案。

檔案流:就是將檔案一段一段的載入,然後進行讀取,比如看電視下面的載入欄

檔案操作的步驟:

開啟檔案

操作檔案

關閉檔案

怎麼用**的方式開啟檔案?

fopen函式:

fopen(路徑,操作方式)

路徑:絕對路徑:檔案的全路徑

相對路徑:相對於檔案當前的路徑

r:  唯讀,如果檔案不存在,那就返回null

w:  只寫,如果檔案存在,則會覆蓋原來的檔案,如果不存在,則會建立。

a:  追加,如果檔案存在,則會在後面追加原來的文字內容,如果檔案不存在,則會建立。(不管存在,不存在最終都會返回文字指標)

r+: 只是在r的基礎上增加了寫的功能

w+: 只是在w的基礎上增加了讀的功能

a+: 只是在a的基礎上增加了讀的功能

t:  文字檔案

b:   二進位制檔案

注意:在mac或linux或unix下,文字檔案和二進位制檔案是一樣的

在windows下有區別,寫入的是文字檔案,會把所有的\n替換成\r\n,二進位制檔案不會替換。

2)幾個函式的使用方法:

fgetc與fputc函式

fgetc函式:讀取乙個字元

fputc函式:寫入乙個字元

#include

#include

void writetest()

fclose(fp);}*/

}int main(int argc, const

char * argv) ;

//        fgets(str, 3, fp); //這裡的3 實際還要留乙個空格給'\0',所以讀取的是he。

//        //用迴圈怎麼讀取呢

//        這是乙個手動的讀取部分

//        printf("%s",str);

//        

while(1)

printf("%c",ch);

}fclose(fp);

}return0;}

3)fgets 和fputs的使用

fgets 和 fputs 函式

fgets :讀取乙個字串

fputs: 輸入乙個字串

#include

int main(int argc, const

char * argv)

*///寫入字串

file *fp=fopen("/users/huanglichao/desktop/3.txt", "r");

if(fp) ;

//        fgets(str,4, fp);//這裡的4,實際得到是3,要留乙個位置給'\0'。

//        

//        printf("%s\n",str);

//       怎麼用迴圈的方式讀取字串返回0  代表字串還未到末尾

//這裡

feof(fp) 

返回1 

代表字串到末尾

while(1)

char

str[

50];//這裡的字串每次都會被覆蓋,可以用斷點檢視。

fgets(str, 10, fp);

printf("%s",str);

}fclose(fp);

}return0;}

4)fprintf  和fscanf使用:

fprintf (變數指標,"格式控制符",引數列表)

fscanf(變數指標,"格式控制符",位址列表)

#include

void testfprintf()

}int main(int argc, const

char * argv) ;

char str2[50];

fscanf(fp, "%s\n%s",str,str2);

puts(str);

puts(str2);

fclose(fp);}*/

return0;}

5)fread 和write函式的使用:

//  fread和fwrite函式

#include

#include

int main(int argc, const

char * argv) ;  

//        fread(str, 1, 100, fp); 它只關心具體讀的位元組數,不會關心這些自己裡面有沒有換行

//        printf("%s",str);

//        讀

file *fp =fopen("/users/huanglichao/desktop/3.txt", "w");

if (fp)

return0;}

菜鳥之路 02

1 switch 語句的基本形式 switch 表示式 語義 先得出表示式的結果,根據結果跳轉到相應的case語句塊裡面去執行 表示式結果 常量表示式 就叫相應的case語句塊 如果case 後面的常量表示式沒有乙個跟表示式結果對應的 那麼就跳轉到 default裡面執行語句塊n switch語句的...

菜鳥之路 03

1 全域性變數和區域性變數的程式 include inta 10 全域性變數,在所有的函式內都能被使用,等程式結束後值才會被釋放 void test int main int argc,const char argv 內使用,當執行完 塊後值會被釋放。當和全域性變數重名時,那麼在它這個函式裡,會暫時...

菜鳥之路 05

1 二維陣列的定義 二維陣列中每乙個元素都是乙個陣列,稱之為二維陣列。int 稱之為三維陣列依次類推 三維陣列中的每個元素都是乙個二維陣列 int nums 2 3 2 三維陣列可以看做立體,每個元素是個面,面裡面有行有列 2 二維陣列的介紹 型別 arr col row row sizeof ar...