c關閉文件夾
㈠ c語言:對文件打開和關閉的含義是什麼為什麼要打開和關閉文件
一方面,文件是系統中的一種資源,打開文件是對資源的佔用,若不關閉,則別的程序就不能使用此資源。
另一方面,文件打開後,可能有一些操作被緩沖在內存中,若不正常關閉,緩沖在內存中的數據就不能真正寫入到文件中,可能造成數據丟失。
㈡ C語言請簡述說明如何打開和關閉文件
FILE *fp;//首先定義一個文件類型的指針;
fp=fopen("D:\\123.txt","w+");//fopen函數返迴文件123的開頭地址,指針fp接收地址;
之後就可以通過指針fp對文件讀寫等操作了;
fclose(fp);//關閉文件,釋放文件指針fp和有關的緩沖區;至此操作結束
㈢ C語言中為什麼要對文件進行打開和關閉
在C語言中,對文件打開和關閉的作用分別是:
1、打開文件,才能對文件進行操作,文件如果不打開,則無法操作裡面的內容。
2、關閉文件,這是為了結束一個實例,釋放內存;如果只打開文件,用完之後不關閉,則可能造成內存溢出。
㈣ C語言文件關閉函數fclose(文件指針)是什麼
fclose函數為C語言標准庫函數,用來關閉一個已打開的文件。
該函數在stdio.h中聲明,原型為:
int fclose(FILE *fp);
當fclose被調用時,一個打開的文件(以文件指針fp標識)會被關閉,關閉後,無法再對fp執行讀寫操作。
如果關閉成功,返回0,否則返回負值。C語言文件操作的標准流程為
1、fopen打開文件;
2、通過各種讀寫函數,讀寫文件;
3、所有操作結束後,調用fclose關閉文件。
㈤ C語言中如何用fclose關閉一個文件
以下是原代碼,VC2008編譯通過,VC6編譯的話需要安裝SDK 關閉運行中的exe需要用TerminateProcess函數,而不是fclose。 在使用這個函數之前,需要先找到這個exe運行的進程。 以下程序的第一個參數是你需要關閉exe文件的名字。
㈥ 在C語言中為什麼在文件操作之後,應當關閉文件。
當使用完一個文件後,應該將該文件關閉,以防止它再被調用。「關閉」就是是文件指針變數不再指向該文件,也就是文件指針變數與該文件「斷開」,此後不能通過該指針變數對原來與其相聯系的文件進行讀寫操作,除非再次打開,使文件變數重新指向該文件。
【調用形式】fclose(文件指針變數名)
【功能】關閉文件指針變數所指向的文件,同時自動釋放分配給文件的緩沖區。
【返回值】文件能正常關閉,則返回0,否則返回非0.
㈦ 打開電腦後自動彈出C/documents文件夾而且關不掉,怎麼辦
原因:木馬或者流氓軟體感染了。解決方法:使用360進行強力清除。
如下參考:
1.雙擊打開桌面上的計算機
2.繼續打開文件夾所在的硬碟
3.找到要刪除的文件夾,然後右鍵點擊,選擇【使用360強刪除】。
4.選中復選標記,以防止文件被重新循環到前一個文件,
5.最後,點擊界面底部的「壓碎文件」清除文件夾。
或者這樣操作
1、在騰訊電腦管家的「電腦加速」選項中點擊啟動項,查看是否有與該Documents文件夾相關的啟動項目,如果有,則請設置為已禁用。
2、也可到注冊表HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon右面窗口中看看,尤其請注意一個Shell鍵值,正常情況下其鍵值數據應該僅僅有一個Explorer.exe,若後面再跟有什麼內容,則請雙擊修改將後面的內容刪除。
㈧ 為什麼C語言會出現文件關閉失敗的情況
C語言關閉文件用int fclose(FILE* fp)函數,可能有多種失敗原因。
1、錯誤的參數。傳遞給fclose的參數不是來自fopen、freopen或者tmpfile函數返回的正確文件指針。如果用上述三個函數打開文件不成功而不檢查返回的文件指針是否正確,甚至沒有給文件指針賦值,最後再傳給fclose的時候也會關閉文件失敗。
2、重復關閉文件。如果在前面的執行流程的某個分支里把文件已經關閉了,在後面重復執行fclose關閉這個文件,也導致關閉失敗。
3、磁碟空間滿或者磁碟故障。在寫文件過程中,文件內容並沒有真正存入磁碟空間,而是保留在緩沖區中,以便提高訪問速度。到關閉文件時,系統要把緩沖區中的數據真正寫入到磁碟上,如果磁碟空間滿了或者磁碟有故障,關閉文件就會失敗。
4、設備文件異常。C語言支持操作系統把各種設備虛擬成的設備文件。關閉這些設備文件時,如果設備異常(比如設備斷開了),關閉文件也可能會失敗。
㈨ c語言程序設計文件打開關閉
在C語言中用一個指針變數指向一個文件,這個指針稱為文件指針。通過文件指針就可對它所指的文件進行各種操作。
定義說明文件指針的一般形式為:
FILE *指針變數標識符;
其中FILE應為大寫,它實際上是由系統定義的一個結構,該結構中含有文件名、文件狀態和文件當前位置等信息。在編寫源程序時不必關心FILE結構的細節。例如:
FILE *fp;
表示fp是指向FILE結構的指針變數,通過fp即可找存放某個文件信息的結構變數,然後按結構變數提供的信息找到該文件,實施對文件的操作。習慣上也籠統地把fp稱為指向一個文件的指針。
文件在進行讀寫操作之前要先打開,使用完畢要關閉。所謂打開文件,實際上是建立文件的各種有關信息,並使文件指針指向該文件,以便進行其它操作。關閉文件則斷開指針與文件之間的聯系,也就禁止再對該文件進行操作。
在C語言中,文件操作都是由庫函數來完成的。在本章內將介紹主要的文件操作函數。
文件的打開(fopen函數)
fopen函數用來打開一個文件,其調用的一般形式為:
文件指針名 = fopen( 文件名, 使用文件方式 );
其中:
「文件指針名」必須是被說明為FILE 類型的指針變數;
「文件名」是被打開文件的文件名;
「使用文件方式」是指文件的類型和操作要求;
「文件名」是字元串常量或字元串數組。
例如:
FILE *fp;
fp=("file a","r");
其意義是在當前目錄下打開文件file a,只允許進行「讀」操作,並使fp指向該文件。又如:
FILE *fphzk;
fphzk=("c:\\hzk16","rb");
其意義是打開C驅動器磁碟的根目錄下的文件hzk16,這是一個二進制文件,只允許按二進制方式進行讀操作。兩個反斜線「\\ 」中的第一個表示轉義字元,第二個表示根目錄。
使用文件的方式共有12種,下面給出了它們的符號和意義。
文件使用方式
意義
rt 只讀打開一個文本文件,只允許讀數據
wt 只寫打開或建立一個文本文件,只允許寫數據
at 追加打開一個文本文件,並在文件末尾寫數據
rb 只讀打開一個二進制文件,只允許讀數據
wb 只寫打開或建立一個二進制文件,只允許寫數據
ab 追加打開一個二進制文件,並在文件末尾寫數據
rt+ 讀寫打開一個文本文件,允許讀和寫
wt+ 讀寫打開或建立一個文本文件,允許讀寫
at+ 讀寫打開一個文本文件,允許讀,或在文件末追加數據
rb+ 讀寫打開一個二進制文件,允許讀和寫
wb+ 讀寫打開或建立一個二進制文件,允許讀和寫
ab+ 讀寫打開一個二進制文件,允許讀,或在文件末追加數據
對於文件使用方式有以下幾點說明。
1) 文件使用方式由r、w、a、t、b 和 + 六個字元拼成,各字元的含義是:
r(read):讀
w(write):寫
a(append):追加
t(text):文本文件,可省略不寫
b(banary):二進制文件
+:讀和寫
2) 凡用「r」打開一個文件時,該文件必須已經存在,且只能從該文件讀出。
3) 用「w」打開的文件只能向該文件寫入。若打開的文件不存在,則以指定的文件名建立該文件,若打開的文件已經存在,則將該文件刪去,重建一個新文件。
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:\ hzk16 file!」,下一行getch()的功能是從鍵盤輸入一個字元,但不在屏幕上顯示。在這里,該行的作用是等待,只有當用戶從鍵盤敲任一鍵時,程序才繼續執行,因此用戶可利用這個等待時間閱讀出錯提示。敲鍵後執行exit(1)退出程序。
6) 把一個文本文件讀入內存時,要將ASCII碼轉換成二進制碼,而把文件以文本方式寫入磁碟時,也要把二進制碼轉換成ASCII碼,因此文本文件的讀寫要花費較多的轉換時間。對二進制文件的讀寫不存在這種轉換。
7) 標准輸入文件(鍵盤),標准輸出文件(顯示器),標准出錯輸出(出錯信息)是由系統打開的,可直接使用。
文件關閉函數(fclose函數)
文件一旦使用完畢,應用關閉文件函數把文件關閉,以避免文件的數據丟失等錯誤。
fclose函數調用的一般形式是:
fclose(文件指針);
例如:
fclose(fp);
正常完成關閉文件操作時,fclose函數返回值為0。如返回非零值則表示有錯誤發生。
㈩ c語言關閉文件夾
你是說關窗吧?
程序 a.c 調 b.exe
----------------------
程序 a.c
#include<windows.h>
#include<stdio.h>
#include<stdlib.h>
void main()
{
system("Start /DD:\\zzz /WAIT b.exe");
Sleep(2000);
}
---------------------------
程序b.c
#include <windows.h>
void main()
{
printf("sleep 5000\n");
Sleep(5000);
printf("\007sleep 2000\n");
Sleep(2000);
exit(0);
}
------------------------
編譯後 運行 a.exe
它調用 Start, 運行 b.exe, 結束時 關窗。
Sleep(); 函數在 windows.h 里,所以要 此頭文件