C++ 从文件中提取特定字符串

来源:互联网 发布:重庆seo推广服务 编辑:程序博客网 时间:2024/05/21 18:36

任务说明

•程序输入为两个文件名,第一个为待读入的文本文件Fin;第二个为写出的文件名Fout
•程序对文件Fin的每一行进行字符串解析,提取label关键字的值(形如label=“ttt”, ttt即为label的值),如没有label字符串,略过。
•对每一个提取到的label值,按照下面格式写出到文件Fout尾部(以ttt为例):

<message>

  <source>ttt</source>

    <translation></translation>

</message>



#include<iostream>#include<fstream>#include<string>using namespace std;int main(){ string fileName ,s; string word; int count=0; fileName="Fin.txt"; ifstream  inFile; ofstream  outFile("Fout.txt"); inFile.open(fileName.c_str()); if (!inFile){cerr<<"打开文件失败"<<endl;return -1; } while (getline(inFile,s)){ size_t f1=s.find("label=\"",0); size_t f2=s.find("\"",f1+7); string  result;  while(f1!=s.npos){     result=s.substr(f1+7,f2-f1-7); outFile<<"<message>"<<"\n" <<"\t"<<"<source>"<<result<<"</source>"<<"\n" <<"\t"<<"<translation>"<<"</translation>"<<"\n" <<"</message>"<<endl; f1=s.find("label=\"",f2+1); f2=s.find("\"",f1+7);  }    }      return 0;}


0 0
原创粉丝点击