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等等