第6题:设计一个数据文件处理程序
源数据文件中含有字符和数字,从中读取数值数据(将连续的数字字符看成一个数值数据),和读取的单词(将连续的字母字符看成一个单词)分别存放在不同的文件中,并且排序后输出显示。
例如:源数据文件old.dat包括:asjjk 12rtr 345 dasdd9&k32*dfasfkjk##dasfdf897,
则生成的数据文件new1.data包括:12 345 9 32 897
单词文件new2.dat包括:asjjk rtr dasdd k dfasfkjk dasfdf
根本不用面向对象
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
ifstream fin;
fin.open("old.dat");
ofstream fout1;
ofstream fout2;
fout1.open("new1.dat");
fout2.open("new2.dat");
string temp;
string word;
string nums;
while (getline(fin, temp)) {
int length = temp.length();
for (int i = 0; i < length; i++) {
word.clear();
nums.clear();
while (isalpha(temp[i])) {
word += temp[i++];
}
while (isalnum(temp[i]) && !isalpha(temp[i])) {
nums += temp[i++];
}
if (word.length())
fout2 << word << " ";
if (nums.length())
fout1 << nums << " ";
}
}
fout1.close();
fout2.close();
fin.close();
return 1;
}
本文介绍了一个简单的数据文件处理程序的设计思路与实现方法。该程序能够从含有字符和数字的源文件中读取并分离数值数据与单词,分别存储到两个不同的文件中。通过使用C++标准库中的文件流功能,实现了对不同类型的字符串进行有效识别和分类。

被折叠的 条评论
为什么被折叠?



