c++统计文件中字符个数代码汇总

 更新时间:2015年09月23日 09:00:09   投稿:hebedich  
本文给大家汇总介绍了3种使用C++实现统计文件中的字符个数的方法,非常的简单实用,有需要的小伙伴可以参考下。

我们先来看看下面的代码:

#include<iostream>
#include<fstream>
#include<cstdlib>
using namespace std;
class CntCharacters
{
private:
  int cnt;
public:
  CntCharacters():cnt(0){}
  ~CntCharacters(){}
  void opentxt(char* p)
  {
    ifstream fin;
    fin.open(p,ios_base::in);
    if(!fin.is_open())
    {
     cout<<"cannot open the file,Please make sure the file is exist!\n";
     exit(-1);
    }
    char temp;
    while(!fin.eof())
    {
     fin>>temp;
     if((temp>='a'&&temp<='z')||(temp>='A'&&temp<='Z'))cnt++;
    }
  }
  void countthecharacter()
  {
   int count=0;
   char nameoffile[80];
   cout<<"Please enter the name of file:";
   cin>>nameoffile;
  //  scanf("%s",nameoffile);
   opentxt(nameoffile);
  }
  void dis()
  {
   cout<<cnt<<endl;
  }
};
int main()
{
  CntCharacters* c=new CntCharacters;
  c->countthecharacter();
  c->dis();
  delete c;
return 0;
}

网上大神的简单代码

#include<iostream>
#include<fstream>
using namespace std;
int main()
{
  fstream f("test.txt",ios::in);
  char c;
  int n=0;
  while(f.get(c))n++;
  cout<<n<<endl;
  f.close(); 
  return 0; 
}

上面那方法会计算空格和换行,如果不想要换行和空格,可以这样:

#include<iostream>
#include<fstream>
using namespace std;
int main()
{
  fstream f("test.txt",ios::in);
  char c;
  int n=0;
  while(f>>c)n++;
  cout<<n<<endl;
  f.close(); 
  return 0; 
}

好了,最后来看一下项目中使用到的代码

//countch.cpp
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main(int argc, char* argv[])
{
  ifstream fin(argv[1]);
  if (!fin) {
    cout << "Can't open file - " << argv[1] 
      << "\nUseage : countch filename" << endl;
    return 1;
  }
  
  string d;
  int count = 0;
  while ( getline(fin, d) ) //以行为单位读入文件
    count += d.size(); //累计字符数
  
  cout << "\n Number of characters : "<< count << endl;
}

相关文章

  • C语言malloc分配问题详解

    C语言malloc分配问题详解

    这篇文章主要介绍了c语言 malloc函数的分配问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-09-09
  • 用C语言实现三子棋小游戏

    用C语言实现三子棋小游戏

    这篇文章主要为大家详细介绍了用C语言实现三子棋小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • C++ 二维数组参数传递的实现方法

    C++ 二维数组参数传递的实现方法

    这篇文章主要介绍了C++ 二维数组参数传递的实现方法的相关资料,这里提供三种方法帮助大家实现这样的功能,需要的朋友可以参考下
    2017-08-08
  • opencv实现图片与视频中人脸检测功能

    opencv实现图片与视频中人脸检测功能

    这篇文章主要为大家详细介绍了opencv实现图片与视频中人脸检测功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 解析c中stdout与stderr容易忽视的一些细节

    解析c中stdout与stderr容易忽视的一些细节

    本篇文章是对在c语言中stdout与stderr容易忽视的一些细节进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++实现的归并排序算法详解

    C++实现的归并排序算法详解

    这篇文章主要介绍了C++实现的归并排序算法,结合实例形式详细分析了归并排序算法的原理、实现步骤、操作技巧与使用方法,需要的朋友可以参考下
    2017-05-05
  • C 二分查找 递归与非递归的实现代码

    C 二分查找 递归与非递归的实现代码

    C 二分查找 递归与非递归的实现代码,需要的朋友可以参考一下
    2013-03-03
  • 利用C/C++二进制读写png文件的方法示例

    利用C/C++二进制读写png文件的方法示例

    最近在做项目的时候遇到了这个问题,所以想着总结下,方法自己和有需要的朋友,下面这篇文章主要介绍了利用C/C++二进制读写png文件的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2016-12-12
  • C语言二叉排序树的创建,插入和删除

    C语言二叉排序树的创建,插入和删除

    本文主要介绍了Java实现二叉排序树的查找、插入、删除、遍历等内容。具有很好的参考价值,下面跟着小编一起来看下吧
    2021-10-10
  • 浅谈C++的几种从键盘输入方式

    浅谈C++的几种从键盘输入方式

    今天小编就为大家分享一篇浅谈C++的几种从键盘输入方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07

最新评论