<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # C 庫函數 - freopen() ## 描述 C 庫函數 **FILE *freopen(const char *filename, const char *mode, FILE *stream)** 把一個新的文件名 **filename** 與給定的打開的流 **stream** 關聯,同時關閉流中的舊文件。 ## 聲明 下面是 freopen() 函數的聲明。 ``` FILE *freopen(const char *filename, const char *mode, FILE *stream) ``` ## 參數 * **filename** -- 這是 C 字符串,包含了要打開的文件名稱。 * **mode** -- 這是 C 字符串,包含了文件訪問模式,模式如下: | 模式 | 描述 | | --- | --- | | "r" | 打開一個用于讀取的文件。該文件必須存在。 | | "w" | 創建一個用于寫入的空文件。如果文件名稱與已存在的文件相同,則會刪除已有文件的內容,文件被視為一個新的空文件。 | | "a" | 追加到一個文件。寫操作向文件末尾追加數據。如果文件不存在,則創建文件。 | | "r+" | 打開一個用于更新的文件,可讀取也可寫入。該文件必須存在。 | | "w+" | 創建一個用于讀寫的空文件。 | | "a+" | 打開一個用于讀取和追加的文件。 | * **stream** -- 這是指向 FILE 對象的指針,該 FILE 對象標識了要被重新打開的流。 ## 返回值 如果文件成功打開,則函數返回一個指針,指向用于標識流的對象。否則,返回空指針。 ## 實例 下面的實例演示了 freopen() 函數的用法。 ``` #include <stdio.h> int main () { FILE *fp; printf("該文本重定向到 stdout\n"); fp = freopen("file.txt", "w+", stdout); printf("該文本重定向到 file.txt\n"); fclose(fp); return(0); } ``` 讓我們編譯并運行上面的程序,這將發送下列行到標準輸出 STDOUT,因為起初我們并沒有打開標準輸出: ``` 該文本重定向到 stdout ``` 在調用 **freopen()** 之后,它會關聯標準輸出 STDOUT 到文件 **file.txt**,無論我們在標準輸出 STDOUT 中寫了什么都會被寫入 file.txt,所以文件 file.txt 將有以下內容。 ``` 該文本重定向到 file.txt ``` 現在讓我們使用下面的程序查看上面文件的內容: ``` #include <stdio.h> int main () { FILE *fp; int c; fp = fopen("file.txt","r"); while(1) { c = fgetc(fp); if( feof(fp) ) { break ; } printf("%c", c); } fclose(fp); return(0); } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看