鍍金池/ 教程/ C/ freopen() - C語言庫函數(shù)
qsort() - C語言庫函數(shù)
strxfrm() - C語言庫函數(shù)
difftime() - C語言庫函數(shù)
isdigit() - C函數(shù)
<limits.h> - C語言標(biāo)準(zhǔn)庫
ldiv() - C語言庫函數(shù)
printf() - C語言庫函數(shù)
sin() - C函數(shù)
freopen() - C語言庫函數(shù)
NULL - C函數(shù)
mktime() - C語言庫函數(shù)
floor() - C函數(shù)
log() - C函數(shù)
rewind() - C語言庫函數(shù)
memcpy() - C語言庫函數(shù)
remove() - C語言庫函數(shù)
localtime() - C語言庫函數(shù)
strcoll() - C語言庫函數(shù)
fgets() - C語言庫函數(shù)
errno - C語言宏
<stdlib.h> - C語言標(biāo)準(zhǔn)庫
labs() - C語言庫函數(shù)
putchar() - C語言庫函數(shù)
wcstombs() - C語言庫函數(shù)
fclose() - C庫函數(shù)
system() - C語言庫函數(shù)
strncmp() - C語言庫函數(shù)
va_end() - C函數(shù)
setlocale() - C函數(shù)
strpbrk() - C語言庫函數(shù)
acos() - C函數(shù)
fabs() - C函數(shù)
asctime() - C語言庫函數(shù)
offsetof() - C函數(shù)
cos() - C函數(shù)
atoi() - C語言庫函數(shù)
strftime() - C語言庫函數(shù)
va_arg() - C函數(shù)
strstr() - C語言庫函數(shù)
<errno.h> - C語言標(biāo)準(zhǔn)庫
memchr() - C語言庫函數(shù)
fopen() - C語言庫函數(shù)
va_start() - C函數(shù)
fprintf() - C語言庫函數(shù)
strrchr() - C語言庫函數(shù)
<time.h> - C語言標(biāo)準(zhǔn)庫
C語言標(biāo)準(zhǔn)庫
isgraph() - C函數(shù)
srand() - C語言庫函數(shù)
isprint() - C函數(shù)
fputs() - C語言庫函數(shù)
sscanf() - C語言庫函數(shù)
getc() - C語言庫函數(shù)
<stdarg.h> - C語言標(biāo)準(zhǔn)庫
rename() - C語言庫函數(shù)
rand() - C語言庫函數(shù)
strspn() - C語言庫函數(shù)
frexp() - C函數(shù)
bsearch() - C語言庫函數(shù)
islower() - C函數(shù)
fwrite() - C語言庫函數(shù)
ispunct() - C函數(shù)
vsprintf() - C語言庫函數(shù)
strcspn() - C語言庫函數(shù)
fgetpos() - C庫函數(shù)
getchar() - C語言庫函數(shù)
tmpfile() - C語言庫函數(shù)
mbtowc() - C語言庫函數(shù)
sprintf() - C語言庫函數(shù)
ftell() - C語言庫函數(shù)
feof() - C庫函數(shù)
mblen() - C語言庫函數(shù)
clearerr() - C庫函數(shù)
modf() - C函數(shù)
strncat() - C語言庫函數(shù)
isspace() - C函數(shù)
ctime() - C語言庫函數(shù)
tmpnam() - C語言庫函數(shù)
isupper() - C函數(shù)
atol() - C語言庫函數(shù)
gets() - C語言庫函數(shù)
<setjmp.h> - C語言標(biāo)準(zhǔn)庫
perror() - C語言庫函數(shù)
exit() - C語言庫函數(shù)
memmove() - C語言庫函數(shù)
isalpha() - C函數(shù)
fsetpos() - C語言庫函數(shù)
fmod() - C函數(shù)
<float.h> - C語言標(biāo)準(zhǔn)庫
strtok() - C語言庫函數(shù)
wctomb() - C語言庫函數(shù)
strcat() - C語言庫函數(shù)
atof() - C語言庫函數(shù)
strchr() - C語言庫函數(shù)
<locale.h> - C語言標(biāo)準(zhǔn)庫
signal() - C函數(shù)
ungetc() - C語言庫函數(shù)
ferror() - C庫函數(shù)
C語言標(biāo)準(zhǔn)庫
strtoul() - C語言庫函數(shù)
fseek() - C語言庫函數(shù)
fscanf() - C語言庫函數(shù)
mbstowcs() - C語言庫函數(shù)
longjmp() - C函數(shù)
localeconv() - C函數(shù)
raise() - C函數(shù)
ceil() - C函數(shù)
<string.h> - C語言標(biāo)準(zhǔn)庫
free() - C語言庫函數(shù)
setvbuf() - C語言庫函數(shù)
atan() - C函數(shù)
C函數(shù)庫宏 assert()
<stdio.h> - C語言標(biāo)準(zhǔn)庫
fread() - C語言庫函數(shù)
vfprintf() - C語言庫函數(shù)
isxdigit() - C函數(shù)
toupper() - C函數(shù)
<ctype.h> - C語言標(biāo)準(zhǔn)庫
setjmp() - C函數(shù)
ldexp() - C函數(shù)
EDOM - C語言宏
strlen() - C語言庫函數(shù)
tolower() - C函數(shù)
clock() - C語言庫函數(shù)
fflush() - C庫函數(shù)
fgetc() - C語言庫函數(shù)
<stddef.h> - C語言標(biāo)準(zhǔn)庫
div() - C語言庫函數(shù)
<math.h> - C語言標(biāo)準(zhǔn)庫
isalnum() - C函數(shù)
memset() - C語言庫函數(shù)
calloc() - C語言庫函數(shù)
vprintf() - C語言庫函數(shù)
sqrt() - C函數(shù)
<assert.h> - C語言標(biāo)準(zhǔn)庫
time() C語言
atexit() - C語言庫函數(shù)
memcmp() - C語言庫函數(shù)
setbuf() - C語言庫函數(shù)
iscntrl() - C函數(shù)
abs() - C語言庫函數(shù)
abort() - C語言庫函數(shù)
exp() - C函數(shù)
realloc() - C語言庫函數(shù)
puts() - C語言庫函數(shù)
scanf() - C語言庫函數(shù)
malloc() - C語言庫函數(shù)
strerror() - C語言庫函數(shù)
strtol() - C語言庫函數(shù)
ERANGE - C語言宏
sinh() - C函數(shù)
atan2() - C函數(shù)
putc() - C語言庫函數(shù)
asin() - C函數(shù)
strcpy() - C語言庫函數(shù)
fputc() - C語言庫函數(shù)
getenv() - C語言庫函數(shù)
pow() - C函數(shù)
tanh() - C函數(shù)
gmtime() - C語言庫函數(shù)
strtod() - C語言庫函數(shù)
log10() - C函數(shù)
strcmp() - C語言庫函數(shù)
<signal.h> - C語言標(biāo)準(zhǔn)庫

freopen() - C語言庫函數(shù)

C庫函數(shù) FILE *freopen(const char *filename, const char *mode, FILE *stream)關(guān)聯(lián)一個新的文件名與給定的打開流,同時關(guān)閉舊文件流。

聲明

以下是freopen()函數(shù)的聲明。

FILE *freopen(const char *filename, const char *mode, FILE *stream)

參數(shù)

  • filename -- 這是C字符串,其中包含要打開的文件名。

  • mode -- 這是C字符串,其中包含文件訪問模式。它包括:

mode 描述
"r" 打開一個文件進(jìn)行讀取。該文件必須存在。
"w" 創(chuàng)建一個空的書面文件。如果已經(jīng)存在具有相同名稱的文件,其內(nèi)容被刪除的文件被認(rèn)為是一個新的空文件。
"a" 附加到文件中。寫入操作的數(shù)據(jù)追加在文件末尾的。該文件被創(chuàng)建,如果它不存在。
"r+" 打開更新文件閱讀和寫作。該文件必須存在。
"w+" 創(chuàng)建一個空文件,讀取和寫入。
"a+" 打開一個文件??讀取和追加。
  • stream -- 這是一個文件對象的指針標(biāo)識重新打開流。

返回值

如果該文件被重新打開成功,則函數(shù)返回一個指針,指向一個對象識別流,否則返回空指針。

例子

下面的例子演示了如何使用freopen()函數(shù)。

#include <stdio.h>

int main ()
{
   FILE *fp;

   printf("This text is redirected to stdout
");

   fp = freopen("file.txt", "w+", stdout);

   printf("This text is redirected to file.txt
");

   fclose(fp);
   
   return(0);
}

讓我們編譯和運(yùn)行上面的程序,這將發(fā)送以下行標(biāo)準(zhǔn)輸出,因為最初我們并沒有打開的標(biāo)準(zhǔn)輸出:

This text is redirected to stdout

freopen()調(diào)用后,它關(guān)聯(lián)STDOUT文件file.txt,所以我們在STDOUT 寫進(jìn)入file.txt。因此,文件file.txt將有以下內(nèi)容。

This text is redirected to file.txt