FindLetter 类——查找文件中特定的字符,每一行开头为某一个字符,则跳过
/*统计除了>之外的行里面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 类——查找文件中特定的字符,每一行开头为某一个字符,则跳过的更多相关文章
- linux shell 脚本获取和替换文件中特定内容
1.从一串字符串中获取特定的信息 要求1:获取本机IP:menu.lst为系统镜象的IP配置文件,需要从中获取到本机IP信息(从文件获取信息) timeout title live find --se ...
- linux命令---查找文件中的内容
linux命令---查找文件中的内容 [yang@localhost ~]$ cat 1.txt |egrep '123456789|second'-------匹配123456789或者seco ...
- java 提取(解压)zip文件中特定后缀的文件并保存到指定目录
内容简介 本文主要介绍使用ZipFile来提取zip压缩文件中特定后缀(如:png,jpg)的文件并保存到指定目录下. 导入包:import java.util.zip.ZipFile; 如需添加对r ...
- java 提取(解压)rar文件中特定后缀的文件并保存到指定目录
内容简介 本文主要介绍使用junrar来提取rar压缩文件中特定后缀(如:png,jpg)的文件并保存到指定目录下. 支持v4及以下版本压缩文件,不支持v5及以上. 在rar文件上右键,查看属性,在压 ...
- linux下查找文件中空行的行号
linux下查找文件中空行的行号 linux下查找文件中空行的行号 以aa.txt举例: 方法1:sed -n '/[a-zA-Z0-9@#$%^&*]/!=' aa.txt 方法2:grep ...
- QT模态对话框用法(在UI文件中设置Widget背景图,这个图是一个带阴影边框的图片——酷)
QT弹出模态对话框做法: 1.新建UI文件时,一定要选择基类是QDialog的,我的选择是:Dialog without Buttons(),如下图: 2.然后在使用的时候: MyDialog dlg ...
- Shell 从日志文件中选择时间段内的日志输出到另一个文件
Shell 从日志文件中选择时间段内的日志输出到另一个文件 情况是这样的,某系统的日志全部写在一个日志文件内,所以这个文件非常大,非常长,每次查阅的时候非常的不方便.所以,相关人员希望能够查询某个时间 ...
- php如何实现把多平台文件中所有的行合成一行?
php如何实现把多平台文件中所有的行合成一行? 一.总结 1.str_replace中的数组替换:str_replace(array("/r","/n",&qu ...
- Scala快速统计文件中特定单词,字符的个数
val fileContent=Source.fromFile("/home/soyo/桌面/ss5.txt").getLines.mkString(",") ...
随机推荐
- QQ邮箱添加公司邮箱步骤
经领导提示,发现QQ邮箱可以添加公司邮箱.这样,在有同事出差在外的时候,可以通过QQWEB邮箱,即可收发公司邮箱,不必安装邮箱客户端软件. 仅供各位同事参考使用. 1.打开QQ邮箱 2.点击其他邮箱, ...
- No persister for 编译器每行执行两次的解决方法
是前台的 js 的 datagrid 部件加了 oncheck 事件引起
- 雅虎UED--无障碍网页设计
转自:http://www.sharetk.com/html/ued/Interactive-Design/1394.html 随着web使用量的增加和人们网络意识的增强,一些特殊用户开始被我们所关注 ...
- 批量的单向的ssh 认证
<pre name="code" class="python">if [ ! $# -eq 2 ] ;then echo "请输入用户密码 ...
- Linux: 信息查看
Linux log日志查看 http://www.2cto.com/os/201307/227230.html
- 字符串处理-AC自动机
估计在OJ上刷过题的都会对AC自动机这个名词很感兴趣,同样,记得去年ACM暑期集训的时候,在最后讲到字符串部分,听说了这个算法的名字之后就对于它心向往之,AC正好是Accept的简称,字面意义上的理解 ...
- NSStringDrawingOptions
如果options参数为NSStringDrawingUsesLineFragmentOrigin,那么整个文本将以每行组成的矩形为单位计算整个文本的尺寸.(在这里有点奇怪,因为字体高度大概是13.8 ...
- 如何判断是否安装了VC RUNTIME
先得说下GUID,它是Globally Unique Identifier的简称,中文翻译为“全球唯一标示符”,在Windows系统中也称之为Class ID,缩写为CLSID.对于不同的应用程序,文 ...
- 在SSH框架中使用Spring的好处(转)
以下是我总结下今天笔试中SSh中的总结: 在SSH框架中spring充当了管理容器的角色.我们都知道Hibernate用来做持久层,因为它将JDBC做了一个良好的封装,程序员在与数据库进行交互时可以不 ...
- μC/OS学习资料(附Ebook)
注意:下载地址位于文末. μC/OS-各版本源码 <嵌入式实时操作系统μC/OS-II> <嵌入式实时操作系统μC/OS-III> <μC/OSII2.52源码中文译注- ...