c判斷文件夾是否為空
1. c語言怎麼判斷文件是否為空
文件為空時 只有文件結束符EOF
當讀取第一個字元是EOF時即可判斷文件是不是空
#include <stdio.h>
#include <stdlib.h>
void main()
{
FILE *fp;
char ch;
if((fp=fopen("1.txt","r"))==NULL)
{
printf("Error!\n");
exit(0);
}
ch=fgetc(fp);
if(ch==EOF)
printf("文件為空\n");
else
printf("文件不為空\n");
}
ch就是獲取到的文件裡面的內容
fgetc(fp)這個函數就是獲取文件內容的函數
從文件頭開始 一直取到文件尾。。每調用這個函數一次 就會取出文件中的下一個字元 一直到文件尾為止
其中你的那個1.txt要放在和你程序相同的文件夾內
2. 關於判斷文件夾是否為空(c語言)
#include<stdio.h>void main(){ FILE *fp; if ( (fp=fopen("文件名","讀取方式")) == NULL) { printf("wen jian wei kon"); exit(0); }}
3. 用C++ 怎樣判斷文件夾是否為空
c++判斷文本文件為空,必須要先讀一下文件(讀一個字元),才能判斷是否為空。
剛打開文件時,文件狀態標識都是初始化狀態,eof()函數是根據文件狀態標識來判斷當前是否到了文件尾,而不是用來判斷文件是否為空。當讀取文件數據時,遇到文件尾時,系統會更改文件狀態標識為文件尾,同時,返回EOF標志。
參考代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
fstream file;
int ch;
file.open("a.txt",ios::in);
ch=file.get(); //試圖去讀一個字元
if(file.eof()) //或 if ( ch==EOF ) //一個字元都未讀到,表示文件為空
{
cout<<"文件為空"<<endl;
}
file.close();
4. windows下怎麼用C/C++判斷一個目錄是否為空
FindFileFirst
如果返回是錯誤的,就說明裡面沒東西了
參數記得要這樣:
d:\*.*
查找d盤根目錄下的文件list
FindFileFirst/FindFileNext是Win32
API用來獲取一個目錄下文件和目錄的API。
5. c# 文件操作 判斷文件是否為空的方法
1.個人認為,判斷文件內容為空可以從兩個角度來考慮,第一種是讀取文件的內容,讀到的內容是否為空字元串;第二種是直接判斷文件的大小。
偽 C# 代碼:
/* 在代碼頭部引入 System.IO 命名空間 */
// 第一種方法
using(FileStream fs=new FileStream(@"C:\a.txt",FileMode.Open){
using(StreamReader sr=new StreamReader(fs){
if(sr.ReadToEnd == string.Empty){
//為空
}
}
}
//第二種方法
FileInfo fi=new FileInfo(@"C:\a.txt");
if(fi.Length==0){
//為空
}
相比之下,第二種方法更為簡單
2. 這種方法適合純文本文件,比如 txt ,ini,html,xml等文件,因為它們不包括任何格式信息。它不適合諸如 doc,xls,zip, rar 等文件,因為即使這些文件是新建的空文件,它們也會包括一些應用程序信息或者格式信息。
區分適合不適合的辦法是,你打開應用程序(如 Word, Excel),新建一個空文件,看它的大小是否為 0 。
希望以上可以幫到你。
6. C語言判斷文件為空問題
foef()是判斷文件當前讀寫指針是否在文件末尾,如果文件有內容,讀寫到文件末尾,返回值也是真,但是文件有內容,並不是空的
。你可以讀取文件第一個字元,如果第一個字元是文件末尾,文件就是空。如char
ch;
ch=fgetc(fp);if(ch==EOF)
printf("文件為空\n");
7. C/C++如何判斷一個文件夾是否存在
方法一:access函數判斷文件夾或者文件是否存在
函數原型: int access(const char *filename, int mode);
所屬頭文件:io.h
filename:可以填寫文件夾路徑或者文件路徑
mode:0 (F_OK) 只判斷是否存在
2 (R_OK) 判斷寫入許可權
4 (W_OK) 判斷讀取許可權
6 (X_OK) 判斷執行許可權
用於判斷文件夾是否存在的時候,mode取0,判斷文件是否存在的時候,mode可以取0、2、4、6。 若存在或者具有許可權,返回值為0;不存在或者無許可權,返回值為-1。
錯誤代碼
EACCESS 參數pathname 所指定的文件不符合所要求測試的許可權。
EROFS 欲測試寫入許可權的文件存在於只讀文件系統內。
EFAULT 參數pathname指針超出可存取內存空間。
EINVAL 參數mode 不正確。
ENAMETOOLONG 參數pathname太長。
ENOTDIR 參數pathname為一目錄。
ENOMEM 核心內存不足
ELOOP 參數pathname有過多符號連接問題。
EIO I/O 存取錯誤。
特別提醒:使用access()作用戶認證方面的判斷要特別小心,例如在access()後再做open()的空文件可能會造成系統安全上的問題。
實例:
#include <stdio.h>
#include <io.h>
int main(void)
{
if ( !access("C://windows",0) )
puts("C://windows EXISITS!");
else
puts("C://windows DOESN'T EXISIT!");
return 0;
}
方法二:fopen函數判斷文件是否存在
函數原型:FILE *fopen (char *filename, char *type);
filename:文件路徑
type:打開文件的方式(有r、w、r+、w+、a、rb、wb等等)
用於判斷文件是否存在可以使用 r 或者 rb ,因為使用 其它方式的話,可能會自動建立文件。 返回值為NULL(打不開)和正數(能打開)。
特別提醒:用這種方法做出的判斷是不完全正確的,因為有的文件存在,但是可能不可讀。
8. 怎樣判斷c語言文件存在但是否為空啊急!!!
假設文件是data.dat
char c = 0 ;
FILE *fp = fopen ("data.dat", "r") ;
//assert ( fp != NULL) ; 這一句是斷言,可不加
if (fscanf (fp, "%c", &c) == EOF) //讀入一個字元,若文件為空,則一個字元都沒有,第一次讀如就失敗,fscanf返回EOF(-1)
printf ("文件為空") ;
else
printf ("文件不為空") ;
9. 怎麼判斷C#獲取的文件目錄為空啊
string strPath = @"C:\Test\"; //指定目錄路徑
int d = Directory.GetDirectories(strPath).Length; //獲取指定目錄下的目錄個數
int f = Directory.GetFiles(strPath).Length; //獲取指定目錄下的文件個數
如果 d 和 f 都等於 0 就可以判斷目錄為空了。
10. c語言用什麼語句判斷文件是否為空
EOF就是文件尾的意思,一般被編譯器定義為-1
倒不是說文件自己會自動生成一個EOF標志,而是你在用函數讀入文件數據的時候,函數總會返回一個狀態,是讀取成功還是失敗,那麼這個狀態怎麼表示呢,所以就約定俗成定義一個標識符表示這個狀態,就有了EOF,BOF等等