| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 691 人关注过本帖
标题:[求助]中英文标点识别,大家讨论下这个程序~
取消只看楼主 加入收藏
kobe317
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2006-4-17
收藏
 问题点数:0 回复次数:0 
[求助]中英文标点识别,大家讨论下这个程序~
我在条件中设置了标点中断,但是在程序执行的时候不识别英文标点是怎么回事?就是遇到半角"?"就换行,但是遇到英文的" ?"时候却不能识别,大家能帮忙解决下么?




#include <iostream>
#include <algorithm>
#include <string>
#include <fstream>
#include <vector>
using namespace std;
bool IsSplitMark(char ch[4])
{
char* Mark[]={",","。",";","!","?",":","?",",",".","!",":","……",";"};
for(int i=0;i<sizeof(Mark)/sizeof(char *);i++)
{
if(memcmp(ch,Mark[i],2)==0)
return true;
}
return false;
}
int main(int argc ,char *argv[])
{
cout<<"Input file Name:"<<endl;
string fileName;
getline(cin,fileName, '\n');
ifstream reader;
reader.open(fileName.c_str());
if(!reader.is_open())
{
cout<<"can't open Input file "<<fileName<<endl;
return -1;
}
vector<string> textList;
vector<char> chVec;
while(!reader.eof())
{
char chBuffer[2];
reader>>chBuffer[0];
if(!reader.good())
break;
if(chBuffer[0]<0)
{
reader>>chBuffer[1];
if(!reader.good())
break;
}
if(IsSplitMark(chBuffer))
{
chVec.push_back(chBuffer[0]);
chVec.push_back(chBuffer[1]);
string tmpStr(chVec.begin(),chVec.end());
textList.push_back(tmpStr);
//cout<<tmpStr<<endl; //结果显示
chVec.clear();
continue;

}
chVec.push_back(chBuffer[0]);
if(chBuffer[0]<0)
{
chVec.push_back(chBuffer[1]);
}

}
vector<int> Texts;
cout<<"结果"<<endl;
int iMaxLens=0;
int i;
for( i=0;i<textList.size();i++)
{
cout<<textList[i]<<endl;
Texts.push_back(textList[i].length());
if(Texts[i]>iMaxLens)
iMaxLens=Texts[i];
}
cout<<"分类结果:"<<endl;
for( i=1;i<iMaxLens/2+1;i++)
{
cout<<"第"<<i<<"类("<<i<<"个字符)"<<endl;
ofstream writer;
char nameBuffer[256];
sprintf(nameBuffer,"%d.txt",i);
writer.open(nameBuffer);
for(int j=0;j<Texts.size();j++)
{
if(Texts[j]==2*i||Texts[j]==2*i-1){
cout<<textList[j]<<endl;
writer<<textList[j]<<endl;
}
}
writer.close();
}
}
搜索更多相关主题的帖子: 标点 中英文 
2006-04-25 10:24
快速回复:[求助]中英文标点识别,大家讨论下这个程序~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026303 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved