| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1430 人关注过本帖
标题:新手求助如果从文件里读入数据
只看楼主 加入收藏
xinqing928
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2014-1-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:27 
新手求助如果从文件里读入数据
各位大侠,我的文件是这样的
417  25781 1800
 3600   2011  7  22  0  0
0.000    0.038     0.050     0.050     0.050     0.050     0.050     0.050     0.050     0.050
0.050    0.050     0.050     0.050     0.050     0.050     0.050     0.050     0.050     0.050
0.050    0.050     0.050     0.050     0.000     0.050     0.050     0.050     0.050     0.050
0.050    0.050     0.050     0.050     0.050     0.050     0.050     0.050     0.050     0.050
0.050    0.050     0.050     0.050     0.050     0.050     0.050     0.050     0.050     0.050
0.050    0.050     0.050     0.042     0.000     0.050     0.050     0.050     0.050     0.050....
用FORTRAN的话就这样读。
READ(10,*)NT,NP,DT
DO I =1,NT
        READ(10,*)K,IYR,IMN,IDA,IHR,IMI,RISEC
        READ(10,*) (ZZ(J),J=1,NP)
        READ(10,*) (UU(J),J=1,NP)
        READ(10,*) (VV(J),J=1,NP)
        READ(10,*) (SS(J),J=1,NP)
ENDDO
但是用C#怎么才能达到FORTRAN这样的赋值效果呢?百试不成功,求助。
搜索更多相关主题的帖子: 2011 
2014-01-11 17:00
xinqing928
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2014-1-11
收藏
得分:0 
自己顶一下,急求大侠们HELP
2014-01-11 20:22
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
不動fortran,把你要怎樣的讀取效果用文字描述出來。

授人以渔,不授人以鱼。
2014-01-12 13:19
xinqing928
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2014-1-11
收藏
得分:0 
以上面数据为例把417赋值给NT,25871赋值给NP,1800赋值给DT
第二行是时间。读完第二行后,然后把NP个数赋值给ZZ(),后NP个数赋值给UU(),再NP个数赋值给VV(),再NP个数赋值给SS(),然后再读第二个时间,如此循环。求版主,大侠们指点
2014-01-12 14:25
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你的DT沒用到,檢查一下寫清楚,而且看你的數字都是0.05,時間又不知是怎麽回事。

授人以渔,不授人以鱼。
2014-01-12 14:29
xinqing928
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2014-1-11
收藏
得分:0 
DT是用到的,下个时间就是第一个时间+DT秒,不过这个我不关心,关心的就是怎么把这些数字读入到数组里。
            string path = @"D:\现状.fld";
            FileStream aFile = new FileStream(path, FileMode.OpenOrCreate);
            StreamReader sw = new StreamReader(aFile);
            string line = sw.ReadLine();
            string[] stringarray;
            stringarray = line.Split(new char[] { ' ' });这样读最方便吗?我这里不一定两个数间都只空一个空格
2014-01-12 14:50
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
是的,用Split()最方便,拆分后,用trim()篩掉空格,若不需要字符串結果,直接把分割的子串轉換爲對應的數值即可(它會過濾空格)。

授人以渔,不授人以鱼。
2014-01-12 14:55
xinqing928
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2014-1-11
收藏
得分:0 
那也就是只能按行读,不能像FORTRAN一样按个数读了
2014-01-12 14:57
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
把從第3行開始的數據一次讀到字符串中,再用空格和回車(嚴格說不是回車,而是new_line符號)調用Split()。

授人以渔,不授人以鱼。
2014-01-12 14:59
xinqing928
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2014-1-11
收藏
得分:0 
能否简单写几句代码?我太菜了,光说说实现版主思想,有点吃力
2014-01-12 15:03
快速回复:新手求助如果从文件里读入数据
数据加载中...
 
   



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

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