/*统计除了>之外的行里面CHED四个字母总数*/
#include<fstream>
#include<iostream>
#include<cstring>
using namespace std; class FindLetter
{
private:
ifstream m_r;
ofstream m_w;
string m_falphabet,m_temp;
char m_jump;//要跳跃的字符
unsigned int *m_number,m_length;//计数 和 文件中的一行的个数
public:
FindLetter(const char * falphabet,char jump)
//参数意思为:第一个参数,要找的字符串;第二个参数,在此行的第一个字符是jump不读取。
{
m_jump=jump;
m_falphabet=falphabet;
m_number=new unsigned int [m_falphabet.length()];
memset(m_number,,sizeof(int)*m_falphabet.length()); }
~FindLetter()
{
delete []m_number;
m_r.close();
m_w.close();
}
void setFindLetter(const char *falphabet,const char jump)//与构造函数相同
{
//写完后,请尝试this指针 调用构造函数
m_jump=jump;
m_falphabet=falphabet;
m_number=new unsigned int[m_falphabet.length()];
memset(m_number,,sizeof(int)*m_falphabet.length()); }
void countAlphabet(const char * filename);
bool wTxt(const char * filename);
};
void FindLetter::countAlphabet(const char * filename)
{
m_r.open(filename);
while(getline(m_r,m_temp))
{
m_length=m_temp.length();//文本文件中的一行字符的长度。 while(--m_length!=-&&m_temp[]!=m_jump)
{
int temp=m_falphabet.length();
//判断是否为要找的字符
while(--temp!=-)//从n-0数
if(m_falphabet[temp]==m_temp[m_length])
{
++m_number[temp]; }
} }
for(int i=m_falphabet.length()-;i>=;--i)
cout<<m_falphabet[i]<<" : "<<m_number[i]<<endl;
}
bool FindLetter::wTxt(const char * filename)
{
m_w.open(filename); for(int i=m_falphabet.length()-;i>=;--i)
m_w<<m_falphabet[i]<<" : "<<m_number[i]<<endl;
}

此用以备忘!!!

FindLetter 类——查找文件中特定的字符,每一行开头为某一个字符,则跳过的更多相关文章

  1. linux shell 脚本获取和替换文件中特定内容

    1.从一串字符串中获取特定的信息 要求1:获取本机IP:menu.lst为系统镜象的IP配置文件,需要从中获取到本机IP信息(从文件获取信息) timeout title live find --se ...

  2. linux命令---查找文件中的内容

    linux命令---查找文件中的内容   [yang@localhost ~]$ cat 1.txt |egrep '123456789|second'-------匹配123456789或者seco ...

  3. java 提取(解压)zip文件中特定后缀的文件并保存到指定目录

    内容简介 本文主要介绍使用ZipFile来提取zip压缩文件中特定后缀(如:png,jpg)的文件并保存到指定目录下. 导入包:import java.util.zip.ZipFile; 如需添加对r ...

  4. java 提取(解压)rar文件中特定后缀的文件并保存到指定目录

    内容简介 本文主要介绍使用junrar来提取rar压缩文件中特定后缀(如:png,jpg)的文件并保存到指定目录下. 支持v4及以下版本压缩文件,不支持v5及以上. 在rar文件上右键,查看属性,在压 ...

  5. linux下查找文件中空行的行号

    linux下查找文件中空行的行号 linux下查找文件中空行的行号 以aa.txt举例: 方法1:sed -n '/[a-zA-Z0-9@#$%^&*]/!=' aa.txt 方法2:grep ...

  6. QT模态对话框用法(在UI文件中设置Widget背景图,这个图是一个带阴影边框的图片——酷)

    QT弹出模态对话框做法: 1.新建UI文件时,一定要选择基类是QDialog的,我的选择是:Dialog without Buttons(),如下图: 2.然后在使用的时候: MyDialog dlg ...

  7. Shell 从日志文件中选择时间段内的日志输出到另一个文件

    Shell 从日志文件中选择时间段内的日志输出到另一个文件 情况是这样的,某系统的日志全部写在一个日志文件内,所以这个文件非常大,非常长,每次查阅的时候非常的不方便.所以,相关人员希望能够查询某个时间 ...

  8. php如何实现把多平台文件中所有的行合成一行?

    php如何实现把多平台文件中所有的行合成一行? 一.总结 1.str_replace中的数组替换:str_replace(array("/r","/n",&qu ...

  9. Scala快速统计文件中特定单词,字符的个数

    val fileContent=Source.fromFile("/home/soyo/桌面/ss5.txt").getLines.mkString(",") ...

随机推荐

  1. [Swust OJ 1126]--神奇的矩阵(BFS,预处理,打表)

    题目链接:http://acm.swust.edu.cn/problem/1126/ Time limit(ms): 1000 Memory limit(kb): 65535 上一周里,患有XX症的哈 ...

  2. [转]数位dp小记

    转载自:http://blog.csdn.net/guognib/article/details/25472879 参考: http://www.cnblogs.com/jffifa/archive/ ...

  3. Oauth1.0认证过程

    现今,已经有了Oauth2.0,写篇博客了解Oauth1.0的过程以及与2.0的区别. 在Oauth官网  关于1.0的介绍: 一.简介 OAuth authentication is the pro ...

  4. Chapter 9 原型模式

    原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 简单的说就是clone一个对象实例.使得clone出来的copy和原有的对象一模一样. 插一个简单使用clone的例子,如果 ...

  5. hibernate主键自动生成

    Entity类中,主键尽量使用可以为null值的类型,比如Integer,Long,String等,不要用int,long等.因为如果主键为null,则表示该实体类还没有保存到数据库,是一个临时状态( ...

  6. SolrCloud Hello Word

    Solr Cloud 设计出来的目的是使你的搜索服务具有更高的可用性,提高容错.容灾能力.下面我们在一台电脑上建立2个solr服务,作为一个solrCloud分片(shard),初步认识一下solrC ...

  7. 批量的单向的ssh 认证

    <pre name="code" class="python">if [ ! $# -eq 2 ] ;then echo "请输入用户密码 ...

  8. Lua学习笔记6:C++和Lua的相互调用

        曾经一直用C++写代码.话说近期刚换工作.项目组中的是cocos2dx-lua,各种被虐的非常慘啊有木有.     新建cocos2dx-lua项目.打开class能够发现,事实上就是C++项 ...

  9. oracle expdp和impdp使用例子

    情景: 由于生产需求,需要把rmtel用户的数据完全复制一份给rmtel_xzy,但排除rmtel用户 ('CAB_JJXPORT_TAB','T_SERVICEXX','TB_CROSSCONNEC ...

  10. 隐式意图-activity

    Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW);//设置动作 intent.setData(Uri.parse(& ...