⑴ 用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();
⑵ 关于判断文件夹是否为空(c语言)
#include<stdio.h>void main(){ FILE *fp; if ( (fp=fopen("文件名","读取方式")) == NULL) { printf("wen jian wei kon"); exit(0); }}
⑶ 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要放在和你程序相同的文件夹内
⑷ 怎样判断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 ("文件不为空") ;
⑸ 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 。
希望以上可以帮到你。
⑹ C语言判断文件为空问题
foef()是判断文件当前读写指针是否在文件末尾,如果文件有内容,读写到文件末尾,返回值也是真,但是文件有内容,并不是空的
。你可以读取文件第一个字符,如果第一个字符是文件末尾,文件就是空。如char
ch;
ch=fgetc(fp);if(ch==EOF)
printf("文件为空\n");