㈠ c語言問題,fclose函數
在c語言裡布爾值false和整型的0等價
非0值都都是true
㈡ c語言題目關閉文件函數fclose(fp)的作用
通知系統 這個文件我用完了。
這樣可以回收相關的資源,減少浪費。
同時,也避免程序出錯。
事實上,大多數時候,不寫fclose看起來也是沒問題的。
㈢ fclose關閉的到底是C標准庫的源,還是系統的fd
fclose函數為C語言標准庫函數,用來關閉一個已打開的文件。 該函數在stdio.h中聲明,原型為: int fclose(FILE *fp); 當fclose被調用時,一個打開的文件(以文件指針fp標識)會被關閉,關閉後,無法再對fp執行讀寫操作。 如果關閉成功,返回0,否則返回負值。 C語言文件操作的標准流程為 1 fopen打開文件; 2 通過各種讀寫函數,讀寫文件; 3 所有操作結束後,調用fclose關閉文件。
㈣ c語言fopen怎麼用
fopen一般與buf搭配使用,通過與fgets函數配合使用,將文件中的字元串讀到buf中,這樣達到讀出文件內容的目的代碼如下:
FILE tf=NULL;//定義一個文件指著,用於判斷fopen是否打開成功,並初始化為空;
char buf[1024]={0};//定義一個長度為1024的數組,用於存放文件的內容;
tf=fopen("c:example.txt","r");//打開c盤指定文件,並以只讀的形式打開,避免破壞原文件,將fopen的返回值放在指針tf中,若打開成功,則返回成功的指針,打開不成功則返回空;
if(tf != NULL)//判斷是否成功,不等於NULL則表示成功;
{
if(fgets(buf,1024,tf) != NULL)//將指向c盤文件的指針的內容賦給buf,長度為1024,並判斷是否獲取成功;
{
printf("buf=%s ",buf);//將成功獲取的字元串顯示在屏幕上;
}
}
fclose(tf);//將已打開的文件關閉;
(4)c語言fclose是什麼擴展閱讀:
fopen的工作原理
FILE *fp;
fp=fopen("filename.txt","w");
首先檢測filename.txt是否存在,如果不存在則在磁碟 創建該文件,然後在內存開辟區域(應該是緩沖區)准備寫該文件
調用fclose時,將內存中的內容寫入到磁碟中去
測試(filename.txt不存在):
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp1,*fp2;
fp1=fopen("filename.txt","w");
if(fp1==NULL)
{
printf("fp1 open failed!/n");
}
else
{
printf("fp1 open success!/n");
}
fp2=fopen("filename.txt","r");
if(fp2==NULL)
{
printf("fp2 open failed!/n");
}
else
{
printf("fp2 open success!/n");
}
fclose(fp1);
fclose(fp2);
return 0;
}
輸出:
fp1 open success!
fp2 open success!
說明文件操作不是互斥的,而且以寫方式打開文件,如果文件不存在,先在磁碟創建該文件
加入寫入語句:
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp1,*fp2;
fp1=fopen("filename.txt","w");
if(fp1==NULL)
{
printf("fp1 open failed!/n");
}
else
{
printf("fp1 open success!/n");
fputs("abcdef",fp1);
}
fp2=fopen("filename.txt","w");
if(fp2==NULL)
{
printf("fp2 open failed!/n");
}
else
{
printf("fp2 open success!/n");
fputs("ABC/n",fp2);
}
fclose(fp1);
fclose(fp2);
return 0;
}
打開filename.txt文件:
ABC
f
說明後關閉的,刷新了磁碟數據
參考資料來源:fopen-網路
㈤ C語言文件關閉函數fclose(文件指針)疑問
假如文件是存儲在硬碟上,那麼所有內容是用磁化的方法寫的,能掉電不丟失。
你的程序將文件打開後,將其內容的第1行讀入了計算機的隨機存儲器中(具體就是line數組)
關閉文件後,文件仍然保持不變
line數組已經讀到了數據,這些數據雖然等於文件的第1行,但已經與文件沒有關系了,你使用和修改這些數據不會影響到文件,除非你再打開這個文件向里邊寫。
在編輯框中輸出的是line數組的內容,它確實與文件的第1行內容相同!以後文件內容改了,你還要輸出的話,需要再打開文件讀一遍。
㈥ C語言中的fclose函數該怎麼用
fclose()函數功能為:關閉一個流,把緩沖區內最後剩餘的數據輸出到磁碟文件中,並釋放文件指針和有關的緩沖區。( fopen()打開一個流 )
頭文件: #include<stdio.h>
函數原型: int fclose(FILE *stream);
說明: 如果流成功關閉,fclose 返回 0,否則返回EOF(-1)。 出錯的原因包括:傳給函數的文件指針不合法,程序運行時遇到中斷信號或是操作系統出現故障等等,可通過查看errno值來確定出錯原因。
因此,正確的使用方法為:
if(fclose(fp))
{
perror("closefile");//報告相應錯誤
}
但,一般我們寫練習代碼時,碰上出錯的可能性比較小,而且,程序基本上就是運行一次,所以常常不做錯誤檢查。直接寫成fclose(fp);
建議:使用正確的方法書寫代碼,養成良好的編碼習慣,提高程序健壯性,提高程序的可維護性。
㈦ 關於fclose( fp )的問題,請C語言高手解答
輸入輸出流是用緩沖區的
fclose();調用後會刷新緩沖區,因此會輸出結果
㈧ C語言文件關閉函數fclose(文件指針)是什麼
fclose函數為C語言標准庫函數,用來關閉一個已打開的文件。
該函數在stdio.h中聲明,原型為:
int fclose(FILE *fp);
當fclose被調用時,一個打開的文件(以文件指針fp標識)會被關閉,關閉後,無法再對fp執行讀寫操作。
如果關閉成功,返回0,否則返回負值。C語言文件操作的標准流程為
1、fopen打開文件;
2、通過各種讀寫函數,讀寫文件;
3、所有操作結束後,調用fclose關閉文件。
㈨ C語言文件函數中exit(0)與fclose(fp)有什麼區別
exit(0)是退出當前程序。
fclose(fp)是關閉文件指針fp所打開的文件。
㈩ 在C語言中,當成功執行了文件關閉操作時,Fclose函數的返值是什麼
當使用完一個文件後,應該將該文件關閉,以防止它再被調用。「關閉」就是是文件指針變數不再指向該文件,也就是文件指針變數與該文件「斷開」,此後不能通過該指針變數對原來與其相聯系的文件進行讀寫操作,除非再次打開,使文件變數重新指向該文件。
【調用形式】fclose(文件指針變數名)
【功能】關閉文件指針變數所指向的文件,同時自動釋放分配給文件的緩沖區。
【返回值】文件能正常關閉,則返回0,否則返回非0.