当前位置:  编程技术>c/c++/嵌入式

获取一个文件行数的方法

    来源: 互联网  发布时间:2014-10-11

    本文导语:  第一种方法 思路:将文件中的字符一个一个读出,然后与 n 作比较。 代码如下:     #include      #include        #include                 int main(int argc, char *argv[])       {            FILE *fp;            int n ...

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

代码如下:

     #include
     #include  
     #include   

       
     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! %sn",strerror(errno)); 
         } 

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

         fclose(fp);
         printf("%dn",n); 
         return 0;
     }

第二种方法
 利用fgets。fgets的原型:char *fgets(char *s, int size, FILE *stream);,fgets最多可以读到size-1个字符,剩下的一个是给 预留的,即总要给 预留一位。同时还应注意:fgets遇到 n 时就停止本次读取,如果数组中可以放下 n 那么就读 n ,否则只能下一次读取了,但是可以肯定的是,如果放到下一次读,那么 n 肯定是第一个,从而造成下次只能读到 n ,会自动加上。剩下的内容还得下下次读。这下就找到规律了!即 n 总是在 的前一位上。

代码如下:

     #include   
     #include   
     #include  

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

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

         while((fgets(buffer,3,fp)) != NULL)
         {
             if(buffer[strlen(buffer) -1] == 'n')
             { 
                 n++;
             } 
         } 

         fclose(fp);
         printf("%dn",n); 
         return 0; 
     }


    
 
 

您可能感兴趣的文章:

  • linux不用命令方式读文件获取网络流量,如何使用C函数调用获取网络流量信息?
  • java获取系统路径字体、得到某个目录下的所有文件名、获取当前路径
  • 怎样使用FTP递归获取文件夹下的所有文件及子文件夹?
  • 如何获取 文件类型?文件更新日期?多谢高手帮忙!
  • 请问bash中如何获取一个项目目录下的执行文件的文件名?
  • 用jspsmartupload上载文件怎样获取文件的名称?
  • Shell获取文件的文件名和扩展名的例子
  • 寻找文件夹下.c的文件,然后将同名的.d文件获取到 用shell怎么写
  • python 获取文件列表(或是目录例表)
  • 在shell脚本中,给定一个文件全路径(字符串),如何获取其文件夹?(内详)
  • C如何获取某文件中某一类型文件,且对其排列
  • bat 批处理获取文件路径
  • vm下获取文件的办法
  • android 获取文件的扩展名和去掉文件扩展名的小例子
  • 怎样获取超过4G的Linux Regular文件的大下?
  • 我想在web-inf/classes 下存文件, 怎样获取地址。
  • C# 获取程序集版本、文件版本
  • 如何从用户名获取其对应的终端文件名?
  • shell求救:获取一个文件夹下的所有文件,判断其大小
  • 如何获取两个tag之间不同的文件列表
  • Python获取网页编码的方法及示例代码
  • 实现在同一方法中获取当前方法中新赋值的session值解决方法
  • Python通过正则表达式获取,去除(过滤)或者替换HTML标签的几种方法
  • Android获取本机电话号码的简单方法
  • java获取日期的方法
  • java获取时间的方法总结
  • C#实现获取枚举中元素个数的方法
  • jQuery获取和设置表单元素的方法
  • C语言调用shell脚本后,通过何种方法能获取脚本中变量的值
  • C#获取路径的多种方法
  • 获取上一页面的URL和本页的URL的方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java Servlet获取和设置cookie实例代码
  • 关于获取在jsp上获取客户端时间的问题
  • php获取访客ip地址原理及提供七段代码供参考
  • 关于Ganglia中的gmond组件收集到的资源信息如何获取(如何获取telnet后返回的信息)
  • 利用sender的Parent获取GridView中的当前行(获取gridview的值)
  • php获取本机ip地址 php获取远程IP地址
  • linux获取主机名后用gethostbyname() 不能获取主机ip
  • javascript 获取url参数的正则表达式(用来获取某个参数值)
  • 在gtk下,怎样获取系统时间??怎样获取当前的目录路径???
  • C++获取文件哈希值(hash)和获取torrent(bt种子)磁力链接哈希值
  • linux根据pid获取进程名和获取进程pid(c语言获取pid)
  • Shell获取系统时间问题
  • android 如何获取MCC/MNC控制小区广播的开启
  • 新手问题:Linux下如何获取进程占用的系统资源
  • c++如何获取当前进程名
  • 怎么通过snmp获取远程主机指定进程信息?
  • 怎样获取终端的所有打印消息
  • linux 内核空间如何获取当前时间(常用格式)
  • 听说Java有获取硬件信息的类,那位知道是什么?
  • 如何获取运行本程序的用户的默认工作路径??
  • Linux下如何获取屏幕分辨率?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3