正文

replace文件中字符串2009-08-25 10:10:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/shao/47077.html

分享到:

#ifndef REVERSE_STRING_H
#define REVERSE_STRING_H

#include<string> // #include<cstring>  will cause error!


string   Reverse(string   str)  
{  
  string   S;  
  int   n=str.size();  
  while(n>0)  
  {  
    n--;
       S+=str[n];  
  }  
  return   S;  
}

string Convert(string str)
{
  int n=str.size();
  while(n>0)  
  {  
    n--;
    if(str[n]>=65&&str[n]<=90) str[n]+=32;  //convert capital letter into small letter,in order to ignore the form
    //str[n]=(str[n]>90? str[n]+32:str[n]);
  }
  return str;
}

string Ignore(string str)
{
 int n=str.size();
 string s;
 for(int i=0;i<n;i++)
 {
  if((str[n]>=65&&str[n]<=90)||(str[n]>=97&&str[n]<=122))
   s+=str[i];
 }
 return s;
}

#endif

 

 

 

///////////////////////////////////////////////////////////

//main()

#include<iostream>
#include<fstream>
using namespace std;
#include "Reverse_string.h"
   
void main()
{
 string filename="Reverse_string.h",str;
 cin>>filename;
 ifstream infile(filename.c_str(),ios::in); // "filename.c_str()"  instead of "filename",right!
 if(!infile)
  exit(1);

 while(infile>>str){      //exit when press "Ctrl+Z"
 int len=str.size();
 string s=Convert(Ignore(str));
 if(Reverse(s)==s)
  cout<<"True!"<<endl;
 else cout<<"False!"<<endl;
 }
}


/*
把从文件中提取的长字符串以空格分开,然后分别存入vector中


vector<string> vs;
while(str!=EOF)
{
 infile>>str;
 vs.push_back(str);
}
*/

阅读(1090) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册