#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
vector<int> ExtractNumFromString(string& s)
{
int numStart;
int numEnd;
vector<int> ret;
for(int i = 0;i<s.length();i++)
{
if (i == 0 && (s[i] >=0 && s[i] <=9))
{
numStart = i;
}
else if((s[i] == ' ' && (s[i + 1] >='0' && s[i + 1] <='9')))
{
numStart = i + 1;
}
else if((s[i] >='0' && s[i] <='9') && (s[i+1] == ' ' || s[i+1] == '\0'))
{
numEnd = i;
int num = 0;
for(int j = numStart;j<=numEnd;j++)
num = num*10 + (s[j]-'0');
ret.push_back(num);
}
else if((s[i]>='a' && s[i]<='z') || (s[i]>='A' && s[i]<='Z') || (s[i]>='0' && s[i]<='9') )
{
continue;
}
}
return ret;
}
int main()
{
ifstream inFile;
inFile.open("data.txt");
vector<string> strVec;
string s;
vector<int> numVec;
while(getline(inFile,s))
{
numVec = ExtractNumFromString(s);
for(vector<int>::iterator it = numVec.begin();it != numVec.end();it++)
{
cout<<*it<<endl;
}
}
ofstream outFile;
outFile.open("result.txt");
for(vector<string>::iterator it = strVec.begin();it != strVec.end();it++)
outFile<<*it<<endl;
inFile.close();
outFile.close();
getchar();
}
keng
最新推荐文章于 2019-11-17 11:55:12 发布