精华内容
下载资源
问答
  • 判断文件结束,有许多方式,比如读取文本文件和二进制文件就可以使用不同的方式,下面分别进行详细介绍和举例。 使用EOF判断文件是否结束 EOF的值为-1,所以往往使用EOF也可以判断文件是否结束,一般用在非格式化...

    C语言文件读写-判断文件是否结束

    在读文件的时候,很重要的一个条件是:文件是否结束,因为文件已经结束了,就不用继续读文件了。

    判断文件结束,有许多方式,比如读取文本文件和二进制文件就可以使用不同的方式,下面分别进行详细介绍和举例。

    使用EOF判断文件是否结束

    EOF的值为-1,所以往往使用EOF也可以判断文件是否结束,一般用在非格式化文本文件读取中,如果在格式化文本读取时使用EOF来判断,在某些情况下是会出错的。

    函数fgetc返回的值为一个字符,当文件结束时,返回EOF,因为文本文件中可打印字符没有字符的值是-1,所以,可以用EOF来判断文件是否结束了。

    这也是唯一的一个可以使用EOF来判断文件是否结束,而且永远正确的函数,前提是必须是读文本文件(格式化或者非格式化都可以支持)。

    我们来看一下使用fgetc和EOF来检测文件是否结束的例子,代码如下:

    void EOF_test_getc(const char* file_name)
    {
    	int ch = 0;
    	int count = 0;
    	FILE *file = fopen(file_name,"r");
    	if(!file)
    		return;
    	while(1)
    	{
    		ch = fgetc(file);
    		if(ch == EOF)
    		{
    			printf("reach the end of file,the char number is %d\n",count);
    			break;
    		}
    		else
    		{
    			count++;
    			putchar(ch);
    		}
    	}
    	fclose
    展开全文
  • 使用feof()函数判断文件是否结束

    千次阅读 2019-07-08 21:08:47
    feof(fp)为假,判断文件结束,其实文件在前一次循环中已经结束了。 代码还可以这样写: 1 ch= fgetc(fp); 2 while (ch!= EOF) 3 { 4 putchar(ch); 5 ch= fgetc(fp); 6 } 处理文本文件,在...

    课本上时这样写的:(用putchar(ch);代表对取出来的字符的处理。)

    1 while(!feof(fp))
    2 {
    3     ch=fgetc(fp);
    4     putchar(ch);
    5 }

    但是,这样写的话,fgetc()函数总是会多读入一个字符。

    应该改为如下形式:

    1 ch=fgetc(fp);
    2 while(!feof(fp))
    3 {
    4     putchar(ch);
    5     ch=fgetc(fp);
    6 }

    只有当从文件输入“文件结束符”后,才能使用feof(fp)函数判断文件是否结束。

    课本上的代码是这样运行的:使用ch=fgetc(fp);从文件读入了文件结束符,然后输出文件结束符(-1)对应的字符(其实是乱码,没有ASCII为-1的字符),然后再根据!feof(fp)为假,判断文件结束,其实文件在前一次循环中已经结束了。

    代码还可以这样写:

    1 ch=fgetc(fp);
    2 while(ch!=EOF)
    3 {
    4     putchar(ch);
    5     ch=fgetc(fp);
    6 }

    处理文本文件,在判断文件是否结束时,两种方法:ch!=EOF;或者!feof(fp);除了这两个表达式之外的其它代码不要变动。

    处理二进制文件,只能使用!feof(fp)判断文件是否结束。

    转载于:https://www.cnblogs.com/Camilo/p/3379538.html

    展开全文
  • 在有null值的情况下会出问题,建议使用!feof()
    在有null值的情况下会出问题,建议使用!feof()
    展开全文
  • C++读入文件 判断文件 是否存在 及 是否为空 及 是否结束

    1 判断文件是否存在: 

    ifstream fin(str.c_str());
     if(!fin)
     {
      cout <<"no such file,please check the file name!/n";
      exit(0);
     }

    2 判断是否为空:
     char c,ch;
     fin >> c;
     if(fin.eof())
     {
      cout <<"nothing!/n";
      exit(0);
     }

    3 判断是否结束:

    if(!fin.eof())

    {

       cout << "not end!/n";

    }

     

    对于判断是否为空尚存疑虑,即使一个空文件也要读入一个字符后再通过判断文件是否结束来判断此文件是否为空,

    那么这个读入的字符到底是什么呢?空文件的末尾是否存在一个结束符?待办。

    展开全文
  • with open('awod.txt','rb') as f: print(f.seek(0,2))
  • c++ 文件结束判断

    千次阅读 2018-06-05 16:40:00
    转载 - C++ - 关于ifstream/fstream流 判断文件是否结束eof()的问题 出处:http://blog.csdn.net/shuilan0066/article/details/4669451   1、 ifstream in("config.txt", ios::in); if (!in) { cerr ...
  • 这种使用“-1”作为判断文本文件结束标志而不能作为判断二进制文件是否结束。尽管二进制文件的结尾标记也是-1,当程序读取到一个正好为-1的字节时,就难以偶按段是文件结尾还是文件中的有效数据。 对于标准的...
  • 本文实例讲述了python中readline判断文件读取结束的方法。分享给大家供大家参考。具体分析如下: 大家知道,python中按行读取文件可以使用readline函数,下面现介绍一个按行遍历读取文件的方法,通过这个方法,展开...
  • C语言读取文件判断是否读取结束

    千次阅读 2019-09-07 15:44:16
    读取文件时,判断内容是否已经为空当目前所读取的字符为EOF时说明后面内容为空或者直接使用feof()函数 当目前所读取的字符为EOF时说明后面内容为空 char ch; FILE* fp=fopen(********); ch=fgetc(fp); if(ch==EOF) ...
  • 判断文件结束方式

    千次阅读 2018-05-20 19:59:05
    判断文件结束有三种方式:a) char p[1024];while(fgets(p, 1024, src) != NULL)fputs(p, dest); b) intc;while((c= fgetc(src)) != EOF)fputs(c, dest); c)while((n= fread(s, 1, 20, src)) != 0){ fwrite(s, 1, ...
  • C/C++中读取文件判断是否读取结束

    万次阅读 2016-11-22 16:16:41
    最近用C++读取文件时遇到了一个问题,读取如下图所示的文件时,使用C中的feof()判断是否读取结束,总会在文件末尾处总会多读一遍。 可以看到我读取的文件格式是比较简单的,没两行为一对,第一行有两个int类型的...
  • Java判断文件是否完整

    千次阅读 2013-01-25 00:00:36
    需求:需要判断一个文件是否正常结束,正常情况最后一行为某段字符串(结束标志) 代码: /** * 判断一个文件的最后一行是否为某字符串 * * @param src * 文件路径 * @param key * 判断是否最后一行的字符串...
  • 按行遍历读取文件的方法,通过这个方法,readline() 每次只读取一行,通常比 .readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用 .readline() filename = raw_input('Enter your file ...
  • 判断读取文件结束的一点心得

    千次阅读 2014-04-01 12:42:07
    找了相关资料,再加上看了一个提问(如何判断读取文件结束)中各位高手的见解。终于有了点眉目。 对于其他,上面那些高手说了很多,我也不多说。根据高手们的见解,再结合我自己一情况,读到文件结尾(测试的时候
  • 判断文件结束函数(feof)

    千次阅读 2013-05-25 16:26:22
    函数feof(fp//文件指针)用于测试fp所指向的文件内部位置指针是否指向文件结束。如果是文件结束,函数feof(fp)的值为1(真),如果不结束,函数feof(fp)的值为0(假),feof函数可判断二进制文件和文本文件的...
  • 网上资料中很多是通过try catch 获取文件是否读取完毕.... 可直接判断文件结束. FileStream fs = File.OpenRead(path); BinaryReader brReader = new BinaryReader(fs); while (brReader.BaseStream.Position
  • 判断文件是否写入完毕

    万次阅读 2016-05-11 15:29:51
    在对文件进行读取,复制等操作前,往往需要去判断文件是否已经完全写入完毕,如果这个文件的写入操作是在你自己写的代码里,那么可以通过自己添加一些标志位来获取当前文件的写入状态,但是如果文件的写操作并非是你...
  • 如何判断文件是否读到文件结尾

    万次阅读 2017-04-10 22:32:44
    头文件:#include #define feof(_stream) ((_stream)->_flag & _IOEOF)feof()函数用来检测当前文件流上的文件结束标识,判断是否读到了文件结尾,其原型为: int feof(FILE * stream);【参数】stream为文件流指针...
  • 判断文件结束的三种方法(经典)

    千次阅读 2013-09-01 15:44:51
    判断文件结束的三种方法: a) char p[1024]; while(fgets(p, 1024, src) != NULL)  fputs(p, des1); b) int c; while((c = fgetc(src)) != EOF)  fputc(c, des2); c) int n; char s[20]; while((n = ...
  • shell脚本判断文件是否存在

    万次阅读 2019-02-12 16:55:06
    有一个需求是判断某一个目录下文件是否存在,如果该文件不存在,则从当前目录拷贝文件到该目录。  由于没有学习写过shell脚本,晚上下班回来搜索后写出了如下的脚本,这里shell的if语法格式与C语言大致相同,语法...
  • gets与scanf如何判断读取文件结束

    千次阅读 2013-12-23 18:42:20
    gets与scanf如何判断读取文件结束 (1) void * =====NULL (2)int =======EOF=======0 当出错或到文件末尾时: scanf() 返回int,故与EOF匹配 gets() 返回char * ,故与NULL匹配 两个例子: (1)...
  • 最近遇到一个问题,我在实现一个C#客户端的附件上传功能时,只能上传未被其他进程占用的文件,因此每次上传文件前需要先判断被选中文件是否被占用。...我上网查了下使用C#判断文件是否被占用的方法。...
  • VB 判断文件是否存在

    万次阅读 2011-04-12 11:49:00
    方法一:  在编程时经常会用到判断文件是否存在,比如对文件做读写操作前,或是判断密钥文件是否存在等。判断的方法有很多,有些方法虽很实用,但有点繁琐。其实还可以有更简单的方法,就是使用vb 6.0...
  • 批处理之判断文件是否存在

    万次阅读 2012-02-27 00:49:52
    @echo off rem 判断文件是否存在 if exist %1 ( echo 文件%1存在 ) else ( echo 文件%1不存在 ) pause
  • 判断FTP文件是否传输完成

    千次阅读 2019-10-24 08:34:01
    当把FTP当作中转站的时候,其他客户端或者设备上传文件到FTP,然后另一个程序去FTP目录下读取文件,这时候有可能读取到正在上传的文件,怎么判断文件上传已经完成呢?采用给文件重名的方式来实现,读取到原来的...
  • Java判断上传文件是否重复

    千次阅读 2018-12-19 16:31:51
    近期的项目中接到一个需求,文件...要判断文件是否重复,就需要对每次上传的文件计算MD5值,上传前通过查询文件库中是否存在该MD5值,来判断是选择上传还是直接复制已存在的文件路径。 方法一: 使用org.apache.comm...
  • c++读取文件结束条件的判断

    千次阅读 2015-06-06 23:02:49
    在使用C/C++读文件的时候,一定都使用过eof()这个函数来判断文件是否为空或者是否读到文件结尾了,也会在使用这个函数的过程中遇到一些问题,如不能准确的判断是否为空或者是否到了文件尾,以至于有些人可能还会...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 552,314
精华内容 220,925
关键字:

如何判断文件是否结束