文件操作:获取一个文件行数的方法

摘要:
标准工时>#包括<intmain(intargc,intch;if((fp=fopen(argv[1],“r+”))==NULL){fprintf(stderr,streerror(errno));}while((ch=fgetc(fp))!=EOF){if(ch==“”){n++;}}fclose(fp);Fgets(str,n是一个int类型变量。
获取一个文件行数的方法,需要的朋友可以参考一下
 

第一种方法
 
思路:将文件中的字符一个一个读出,然后与 作比较。

     #include <stdio.h> 
     #include <string.h>  
     #include <errno.h>   

        
     int main(int argc, char *argv[])  
     {   
         FILE *fp;   
         int n = 0;  
         int ch;  

         if((fp = fopen(argv[1],"r+")) == NULL)  
         {  
             fprintf(stderr,"open file 1.c error! %s
",strerror(errno));  
         }  

         while((ch = fgetc(fp)) != EOF) 
         {  
             if(ch == '
')  
             {  
                 n++;  
             } 
         }  

         fclose(fp); 
         printf("%d
",n);  
         return 0; 
     }
文件操作:获取一个文件行数的方法第1张

第二种方法
 fgets函数的调用形式如下:fgets(str,n,fp);此处,fp是文件指针;str是存放在字符串的起始地址;n是一个int类型变量。函数的功能是从fp所指文件中读入n-1个字符放入str为起始地址的空间内;如果在未读满n-1个字符之时,已读到一个换行符或一个EOF(文件结束标志),则结束本次读操作,读入的字符串中最后包含读到的换行符。因此,确切地说,调用fgets函数时,最多只能读入n-1个字符。读入结束后,系统将自动在最后加'/0',并以str作为函数值返回。

...  
  
while ( !feof(fp) )  
{  
    if ( fgets(first_line, 128, fp) != NULL ) //读到一个换行符就会结束读取  
    {  
        lines++;  
    }  
}  
  
...  

文件操作:获取一个文件行数的方法第2张

转自:获取一个文件行数的方法

免责声明:文章转载自《文件操作:获取一个文件行数的方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何在ChemDraw中输入℃温度符号【hibernate spring data jpa】执行了save()方法 sql语句也执行了,但是数据并未插入数据库中下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

cocos2D-X从的源代码的分析cocos2D-X学习OpenGL(1)----cocos2D-X渲染架构

        个人原创。欢迎转载,转载请注明原文地址http://blog.csdn.net/bill_man         从本篇文章開始,将分析cocos2D-X 3.0源码,第一部分是从cocos2D-X学习OpenGL,也就是分析cocos2D-X 3.0的渲染代码,本篇首先介绍cocos2D-X 3.0的渲染结构。使用的是3.0正式版。...

Linux(实操篇)--- 实用指令——文件目录类

pwd指令 - 基本语法: pwd (功能描述:显示当前工作目录的绝对路径) ls指令 - 基本语法: ls [选项][目录或者文件](功能:显示当前目录所有的文件和目录) - 常用选项: -a : 显示当前目录所有的文件和目录,包括隐藏的 -l : 以列表的方式显示信息 cd指令 - 基本语法: cd [参数](功能描述:切换到指定目录...

文件加锁(基于FileChannel)

      JDK1.4引入了文件加锁机制。它允许我们同步访问某个作为共享资源的文件。不过,竞争同一文件的两个线程可能在不同的Java虚拟机上,或者一个是Java线程,另一个是操作系统中的其他的某个本地线程。文件加锁对其他的操作系统进程是可见的,因为Java的文件加锁直接映射到了本地操作系统的枷锁工具。       通过对FileChannel调用tryL...

每个文件之间延迟启动批处理bat方法之一

每个文件之间延迟启动批处理bat方法之一 知识点:xp程序中通过ping 127.0.0.1 -n 20 来实现延时操作,ping本地地址20行。            win7中通过timeout 20 来实现延时20秒。 新建批处理bat文件,  .txt→.bat 改扩展名或txt里另存为.bat就可以 例B是路径名包含空格类的需要用引号" "否则会...

在C#代码中应用Log4Net(二)典型的使用方式(转)

不管用什么框架,学什么东西,最初的想法还不是尽快地用上这个框架,所以我们在这个章节还是不打算介绍具体配置节的应用,而是直接给出一个经典的使用样例,让你尽快上手。即使你对Log4Net的配置不熟悉也完全没有关系。 (下面的文章假定你已经看过了第一篇,当然在有的操作中,我还是会简单地重复第一篇,以便加深你的记忆) 先说说这篇教程的思路,我们打算使用Log4N...

fire workflow总结

一、Fire WorkFlow核心1.IPersistenceService存储服务。Fire Workflow 缺省情况下使用hibernate 进行数据库存取。如果你的系统不是使用hibernate,则重新实现该类,然后通过修改FireflowContext.xml 配置,将你的存储服务实现类注入到RuntimeContext 中。2.IDefinit...