注册 登录
编程论坛 C++教室

请教一个编程问题,谢谢

ringlord 发布于 2012-04-08 11:06, 962 次点击
我想读入一个文件,文件内容是这样的:
T{011111111011100`````}rtgdonegg
R{11111111111111``````}ttttetds
``````

等等

这个文件大概几十行,每行以T或R开头,后面跟着大括号,里面是1或0数字(这个大概有100多列),大括号后面一些字符,现在的问题是:
我只需要开头是T或R字符的信息,以及大括号里面的1、0数字,进行一些处理(而且是每行分别处理),大括号“}”和后面的字符都不需要,请问有什么好的方法(比如用什么数据结构存储,或者一些伪代码文字叙述也行)

非常感谢各位



[ 本帖最后由 ringlord 于 2012-4-8 14:44 编辑 ]
11 回复
#2
寒风中的细雨2012-04-08 14:03
程序代码:
#include <iostream>
#include <fstream>
#include <iterator>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;

int deal_string(vector<string> &nVec)
{
    vector<string>::size_type size = 0;

    for (; size!=nVec.size(); ++size)
    {
        nVec[size] = nVec[size].substr(0, nVec[size].find('}'));
        size_t i = nVec[size].find('{');
        nVec[size].erase(i,1);
    }
    return 0;
}

int main()
{
    ifstream in("test.txt");
    vector<string> nVec;
    string nStr;

    cout << in.rdbuf() << endl;

    in.seekg(0, ios::beg);

    copy(istream_iterator<string>(in),
         istream_iterator<string>(),
         back_inserter(nVec));

    deal_string(nVec);

    copy(nVec.begin(), nVec.end(),
        ostream_iterator<string>(cout, "\n"));

    return 0;
}
#3
ysy33442012-04-08 19:32
新手看不懂,虔诚膜拜,前面的路还好远啊...
#4
编编之2012-04-08 23:28
看不懂额
#5
guoxiuxiao2012-04-09 10:45
正在学习中
#6
蓝xuan2012-04-09 13:17
路漫漫其修远兮,吾将上下而求索。。。。。。。
#7
welona2012-04-09 21:27
版主。。。好强啊
#8
wsgzg2012-04-09 22:48
版主的STL技术让大家都不敢回复了。。。
#9
BianChengNan2012-04-10 13:27
顶二楼,努力钻研stl
#10
nongzhaobo2012-04-12 16:26
看不懂..........
#11
ringlord2012-04-18 18:26
回复 2楼 寒风中的细雨
最近很忙,还没来得及仔细拜读,忘了说声谢谢了,非常感谢
#12
lyswwr2012-04-18 23:04
专砖
1