标题:求大神帮助 c文件操作题 [问题点数:20分]
只看楼主
fanpengpeng
Rank: 8Rank: 8
来 自:南极洲
等 级:蝙蝠侠
威 望:7
帖 子:299
专家分:849
注 册:2013-2-1
得分:0 
估计还是用C++比较好写些

[ 本帖最后由 fanpengpeng 于 2013-4-11 21:23 编辑 ]

人生是一场错过 愿你别蹉跎
2013-04-11 17:49
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:1 
回复 9楼 sp007024
我刚回来,晚点给你看看吧。

授人以渔,不授人以鱼。
2013-04-11 21:17
fanpengpeng
Rank: 8Rank: 8
来 自:南极洲
等 级:蝙蝠侠
威 望:7
帖 子:299
专家分:849
注 册:2013-2-1
得分:15 
图省事 用C++标准库写了
程序代码:
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <map>

using namespace std;

const char FILE1[] = "index.txt";
const char FILE2[] = "KEGG_p-value.txt";
const char FILE3[] = "OUT.txt";

int main()
{
    ifstream in1(FILE1), in2(FILE2);
    ofstream out(FILE3);
    map<string, string> datmap;
    vector<string> index;
    string s, value;
    
    while (in1 >> s) {
        if (s[0] != '0' && s[1] == '.') s = "0" + s;    //Start with 0
        index.push_back(s);
        datmap.insert(pair<string, string>(s, string()));
    }
    
    while (in2 >> s) {
        if (s > "9") value = s;
        else datmap[s] += "\t" + value;
    }
    
    vector<string>::iterator beg = index.begin();
    vector<string>::iterator end = index.end();
    for (; beg != end; beg++) {
        *beg += datmap[*beg];
        out << *beg << "\n";
    }
    
    return 0;
}

楼主给的数据不厚道 index文件里的目录标题 跟 第二个文件里的 竟然不严格一致
我只发现一个前导0的问题 修正过来了 其他由于格式不一致导致的结果不对 楼主不要骂我
估计楼主主要关心的是结果 直接把处理后的文件给你吧
处理后的文件
OUT.zip (37.74 KB)

人生是一场错过 愿你别蹉跎
2013-04-11 22:30
fanpengpeng
Rank: 8Rank: 8
来 自:南极洲
等 级:蝙蝠侠
威 望:7
帖 子:299
专家分:849
注 册:2013-2-1
得分:0 
楼主不会再回来了

人生是一场错过 愿你别蹉跎
2013-04-14 00:59
corlp6
Rank: 2
等 级:论坛游民
帖 子:8
专家分:18
注 册:2013-4-14
得分:1 
2013-04-14 12:03
sp007024
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-4-10
得分:0 
回复 13楼 fanpengpeng
感谢大神啊 我最近有点事情 耽误了 呵呵 谢谢你了 我看看 不懂能问你吗?
2013-04-16 16:25
sp007024
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-4-10
得分:0 
回复 14楼 fanpengpeng
留个联系方式吧
2013-04-16 17:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-403591-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.369055 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved