當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C語言 freopen()用法及代碼示例


C 中的 freopen() 函數

原型:

    FILE* freopen(const char *str, const char *mode, FILE *stream);

參數:

    const char *str, const char *mode, FILE *stream

返回類型:文件*

函數的使用:

函數 freopen() 的原型為:

    FILE* freopen(const char *str, const char *mode, FILE *stream);

這個freopen() function將現有流打開到另一個文件中。在此過程中清除文件結束和錯誤標誌。名為 str 的文件及其操作模式將其打開到名為 stream.txt 的文件流中。這freopen() function行為類似於fopen()函數。在下麵的輸出中,我們可以看到函數的工作。

C 中的 freopen() 示例

#include <stdio.h>
#include <stdlib.h>

int main()
{
    //Initialize the file pointer
    FILE *f, *fp;
    //Take a array of characters
    char ch[100];

    //Create the file for write operation
    f = fopen("includehelp.txt", "w");

    printf("Enter five strings\n");
    for (int i = 0; i < 4; i++) {
        //take the strings from the users
        scanf("%[^\n]", &ch);
        //write back to the file
        fputs(ch, f);
        //every time take a new line for the new entry string
        //except for last entry.Otherwise print the last line twice
        fputs("\n", f);

        //clear the stdin stream buffer
        //if we don't write this then after taking string
        fflush(stdin);
    }

    //%[^\n] is waiting for the '\n' or white space
    //take the strings from the users
    scanf("%[^\n]", &ch);
    fputs(ch, f);

    //reopen the file for read operation
    fp = freopen("includehelp.txt", "r", fp);

    printf("File content is--\n");
    printf("\n...............print the strings..............\n\n");
    while (!feof(fp)) {
        //takes the first 100 character in the character array
        fgets(ch, 100, fp);
        //and print the strings
        printf("%s", ch);
    }
 
    //close the files
    fclose(fp);
    fclose(f);

    return 0;
}

輸出

freopen example in c




相關用法


注:本文由純淨天空篩選整理自Souvik Saha大神的英文原創作品 freopen() function in C language with Example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。