| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 618 人关注过本帖
标题:急,求教达人^^^^^^^^^^^^^^^^^
只看楼主 加入收藏
惜小君
Rank: 1
来 自:合肥
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-6-19
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:9 
急,求教达人^^^^^^^^^^^^^^^^^
最近在做一个小程序,其中一个步骤是从1.txt文件中提取我需要的行,并输出到2.txt中.
如:部分1.txt中的内容如下:
ATOM      1  N   ALA     2       3.618 -81.068   7.601  1.00  0.00      BR  
ATOM      2  HT1 ALA     2       4.368 -80.482   7.177  1.00  0.00      BR  
ATOM      3  HT2 ALA     2       3.706 -81.036   8.629  1.00  0.00      BR  
ATOM      4  HT3 ALA     2       2.713 -80.653   7.310  1.00  0.00      BR  
ATOM      5  CA  ALA     2       3.742 -82.457   7.139  1.00  0.00      BR  
ATOM      6  HA  ALA     2       3.941 -83.098   7.981  1.00  0.00      BR  
ATOM      7  CB  ALA     2       2.569 -82.892   6.314  1.00  0.00      BR  
ATOM      8  HB1 ALA     2       2.553 -82.260   5.451  1.00  0.00      BR  
ATOM      9  HB2 ALA     2       1.645 -82.765   6.843  1.00  0.00      BR  
ATOM     10  HB3 ALA     2       2.678 -83.917   5.999  1.00  0.00      BR  
ATOM     11  C   ALA     2       4.946 -82.450   6.244  1.00  0.00      BR  
ATOM     12  O   ALA     2       5.326 -81.424   5.716  1.00  0.00      BR  
ATOM     13  N   GLN     3       5.501 -83.608   6.068  1.00  0.00      BR  
ATOM     14  HN  GLN     3       5.125 -84.408   6.491  1.00  0.00      BR  
ATOM     15  CA  GLN     3       6.705 -83.726   5.222  1.00  0.00      BR

我要输出第三列是CA的行,如第五行,第十五行.输出到2.txt中.求教达人,代码该怎么写呢?

在线等阿^达人快出现!!!
2012-06-19 08:37
惜小君
Rank: 1
来 自:合肥
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-6-19
收藏
得分:0 
达人求代码阿……
2012-06-19 08:48
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
 $ awk '$3 == "CA" { print $0 }' 1.txt > 2.txt

文本处理,你需要的不是C语言,是awk,sed,perl哈

The quieter you become, the more you can hear
2012-06-19 10:21
惜小君
Rank: 1
来 自:合肥
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-6-19
收藏
得分:0 
回复 3楼 madfrogme
怎么用C语言写呢,呜呜,急死了
2012-06-19 10:50
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
如果用C语言,你会学会用fgets读行
用getchar 分析行,统计单词,也就是掌握统计单词时判断边界问题,然后strcmp找到CA
最后输出buffer中的行
这些就是提示了!加油
没人能给代码,自己去学习,遇到问题拿出来,
贴代码的时候把问题点的代码贴出来就行了!
对着计算机看200行代码会死人的
能立刻给你代码的都是大神级别的!

The quieter you become, the more you can hear
2012-06-19 11:04
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:20 
做一下填空题,你的问题就解决了:

#include <stdio.h>
#include <string.h>

int main()
{
    FILE *fin, *fout;
    char line[128];

    fin = fopen("__", "__"); //填空,填下划线的地方
    fout = fopen("__", "__");//填空,填下划线的地方

    while(!feof(fin))
    {
        fgets(line, 128, __);//填空,填下划线的地方

        if(strstr(line,"CA"))
            fputs(line,fout);
    }
    fclose(__);//填空,填下划线的地方
    fclose(__);//填空,填下划线的地方
}

我们都在路上。。。。。
2012-06-19 11:16
razer7610
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-6-19
收藏
得分:0 
不太明白呢  楼下解答呢












www.  www.
2012-06-19 11:27
hkvmonkey
Rank: 2
等 级:论坛游民
帖 子:35
专家分:53
注 册:2012-3-18
收藏
得分:0 
文件操作,是 C中比较强大的功能,可惜,我现在也有点晕~
2012-06-19 12:54
青春无限
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏
等 级:贵宾
威 望:24
帖 子:3451
专家分:19340
注 册:2012-3-31
收藏
得分:0 
hehheh

学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能
2012-06-19 12:56
惜小君
Rank: 1
来 自:合肥
等 级:新手上路
帖 子:14
专家分:0
注 册:2012-6-19
收藏
得分:0 
回复 6楼 hellovfp
谢谢大神啊啊啊…………………………………………………………………………
2012-06-19 13:20
快速回复:急,求教达人^^^^^^^^^^^^^^^^^
数据加载中...
 
   



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

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