<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      書山有徑勤為路>>>>>>>>

      <<<<<<<<學海無涯苦作舟!

      File ——getchar() putchar()

      1.使用文件的方式共有12種,下面給出了它們的符號和意義。 
      文件使用方式        意 義
      “rt”      只讀打開一個文本文件,只允許讀數(shù)據(jù) 
      “wt”      只寫打開或建立一個文本文件,只允許寫數(shù)據(jù)
      “at”      追加打開一個文本文件,并在文件末尾寫數(shù)據(jù)
      “rb”      只讀打開一個二進制文件,只允許讀數(shù)據(jù)
      “wb”       只寫打開或建立一個二進制文件,只允許寫數(shù)據(jù)
      “ab”       追加打開一個二進制文件,并在文件末尾寫數(shù)據(jù)
      “rt
      +”      讀寫打開一個文本文件,允許讀和寫
      “wt+”      讀寫打開或建立一個文本文件,允許讀寫
      “at+”      讀寫打開一個文本文件,允許讀,或在文件末追加數(shù) 據(jù)
      “rb+”      讀寫打開一個二進制文件,允許讀和寫 
      “wb+”      讀寫打開或建立一個二進制文件,允許讀和寫
      “ab+”      讀寫打開一個二進制文件,允許讀,或在文件末追加數(shù)據(jù)

      1. 文件使用方式由r,w,a,t,b,+六個字符拼成,各字符的含義是:
      r(read): 讀
      w(write): 寫
      a(append): 追加
      t(text): 文本文件,可省略不寫
      b(banary): 二進制文件
      +: 讀和寫

      2. 凡用“r”打開一個文件時,該文件必須已經(jīng)存在, 且只能從該文件讀出。

      3. 用“w”打開的文件只能向該文件寫入。 若打開的文件不存在,則以指定的文件名建立該文件,

        若打開的文件已經(jīng)存在,則將該文件刪去,重建一個新文件。

      4. 若要向一個已存在的文件追加新的信息,只能用“a ”方式打開文件。但此時該文件必須是存在的,否則將會出錯。

      5. 在打開一個文件時,如果出錯,fopen將返回一個空指針值NULL。

          在程序中可以用這一信息來判別是否完成打開文件的工作,并作相應的處理。

          因此常用以下程序段打開文件:
          if((fp=fopen("c:\\hzk16","rb")==NULL)
          {
              printf("\nerror on open c:\\hzk16 file!");
              getch();
              exit(1);
          }
        這段程序的意義是,如果返回的指針為空,表示不能打開C盤根目錄下的hzk16文件,

        則給出提示信息“error on open c:\ hzk16file!”,下一行g(shù)etch()的功能是從鍵盤輸入一個字符,

        但不在屏幕上顯示。在這里,該行的作用是等待,只有當用戶從鍵盤敲任一鍵時,程序才繼續(xù)執(zhí)行, 

        因此用戶可利用這個等待時間閱讀出錯提示。敲鍵后執(zhí)行exit(1)退出程序。

      6.   把一個文本文件讀入內(nèi)存時,要將ASCII碼轉(zhuǎn)換成二進制碼, 而把文件以文本方式寫入磁盤時,

        也要把二進制碼轉(zhuǎn)換成ASCII碼,因此文本文件的讀寫要花費較多的轉(zhuǎn)換時間。

        對二進制文件的讀寫不存在這種轉(zhuǎn)換。

      7. 標準輸入文件(鍵盤),標準輸出文件(顯示器 ),標準出錯輸出(出錯信息)是由系統(tǒng)打開的,可直接使用。

        文件關(guān)閉函數(shù)fclose文件一旦使用完畢,應用關(guān)閉文件函數(shù)把文件關(guān)閉, 以避免文件的數(shù)據(jù)丟失等錯誤。


      2.在C語言中提供了多種文件讀寫的函數(shù): 
      ·字符讀寫函數(shù) :fgetc和fputc
      ·字符串讀寫函數(shù):fgets和fputs
      ·數(shù)據(jù)塊讀寫函數(shù):freed和fwrite
      ·格式化讀寫函數(shù):fscanf和fprinf

      例題:向一個文件中讀入一個字符串,并輸出到屏幕上。

      #include "stdio.h"
      int main()
      {
        FILE *fp;
        char ch;
        if((fp=fopen("string.txt", "wt+"))==NULL)
        {
          printf("Can't open file!\n");
          return 0;
        }
        printf("Input a string:\n");
        ch = getchar(); //輸入一個字符
        while(ch!='\n')
        {
          fputc(ch, fp);
          ch=getchar(); //輸入一個字符
        }
        rewind(fp); //將指針重新指向某個流的開始位置。
        ch = fgetc(fp);
        while(!feof(fp)) //feof用來判斷是否到了某個流的結(jié)尾
        {
          putchar(ch);
          ch = fgetc(fp);
        }
        printf("\n");
        fclose(fp);

      }

      getchar()小結(jié):

      getchar 由宏實現(xiàn):#define getchar() getc(stdin)。getchar有一個int型的返回值.

      當程序調(diào)用getchar時.程序就等著用戶按鍵.用戶輸入的字符被存放在鍵盤緩沖區(qū)中.

      直到用戶按回車為止(回車字符也放在緩沖區(qū)中).當用戶鍵入回車之后,getchar才開始從stdin流中每次讀入一個字符.

      getchar函數(shù)的返回值是用戶輸入的第一個字符的ASCII碼,如出錯返回-1,且將用戶輸入的字符回顯到屏幕.

      如用戶在按回車之前輸入了不止一個字符,其他字符會保留在鍵盤緩存區(qū)中,等待后續(xù)getchar調(diào)用讀取.

      也就是說,后續(xù)的getchar調(diào)用不會等待用戶按鍵,而直接讀取緩沖區(qū)中的字符,直到緩沖區(qū)中的字符讀完為后,

      才等待用戶按鍵.

       

      讀字符串函數(shù)fgets函數(shù)的功能是從指定的文件中讀一個字符串到字符數(shù)組中,函數(shù)調(diào)用的形式為:

       fgets(字符數(shù)組名,n,文件指針);其中的n是一個正整數(shù)。表示從文件中讀出的字符串超過 n-1個字符。

      在讀入的最后一個字符后加上串結(jié)束標志'\0'。例如:fgets(str,n,fp);

      的意義是從fp所指的文件中讀出n-1個字符送入字符數(shù)組str中。
      [例10.4]從e10_1.c文件中讀入一個含10個字符的字符串。

      例題:用fgets()將文件中的字符串讀到一字符數(shù)組中

      #include "stdio.h"
      #include "string.h"
      int main()
      {
        FILE *fp;
        char ch, str[100];
        if((fp=fopen("string.txt", "wt+"))==NULL)
        {
          printf("Can't open file!\n");
          return 0;
        }
        printf("Input a string:\n");
        ch=getchar();
        while(ch!='\n')
        {
          fputc(ch, fp);
          ch=getchar();
        }
        rewind(fp);
        if((fp=fopen("string.txt", "rt"))==NULL) 
        {
          printf("Can't Open File!\n");
          return 0;
        }
        fgets(str, 50, fp); //將文件中的字符串拷貝到str字符數(shù)組中
        printf("%s\n", str);
        fclose(fp);
      }


      posted on 2011-11-04 22:00  More study needed.  閱讀(409)  評論(0)    收藏  舉報

      導航

      書山有徑勤為路>>>>>>>>

      <<<<<<<<學海無涯苦作舟!

      主站蜘蛛池模板: 成人久久精品国产亚洲av| 亚洲 欧洲 无码 在线观看| 亚洲欧洲∨国产一区二区三区| 少妇被粗大的猛烈进出动视频| 日韩国产精品一区二区av| 最新午夜男女福利片视频| 2019国产精品青青草原| 国产91精品一区二区蜜臀| 亚洲自偷自偷在线成人网站传媒| 亚洲精品久久久久国色天香| 日本一区二区三区黄色网| 日本欧美一区二区三区在线播放| 色偷偷女人的天堂亚洲网| 日韩精品亚洲专区在线播放| 欧美亚洲h在线一区二区| 人妻另类 专区 欧美 制服| 国产自拍一区二区三区在线 | 日本一区二区三本视频在线观看| 免费特黄夫妻生活片| 久久涩综合一区二区三区| 97久久精品亚洲中文字幕无码| 亚洲一区二区国产av| 亚洲国产精品成人无码区| 无码人妻精品一区二区三区66| 天天摸天天做天天添欧美| 美女内射无套日韩免费播放| 亚洲高清WWW色好看美女| 久久视频这里只精品| 在线播放国产精品一品道| 亚欧洲乱码视频在线专区| 国日韩精品一区二区三区| 四虎国产精品永久在线| 国产精品久久久久AV福利动漫| 亚洲在线一区二区三区四区| 手游| 亚洲精品成人一二三专区| 香港日本三级亚洲三级| 豆国产97在线 | 亚洲| 国产麻豆成人传媒免费观看| 久久精品亚洲中文无东京热| 白白发布视频一区二区视频|