ページ 11

テキストファイルの読み込み

Posted: 2010年11月23日(火) 23:56
by ichi
テキストファイルを読み込んで、配列をつくる作業をしています。

テキストの途中から読み込んで途中まで読み込むにはどうしたら良いのですか?

具体的には、
//ファイルの中身//
t # 0
X 2 3
X 2 5
t # 1
X 2 2
X 4 4
t # 2
X 1 1
X 2 1

のように、tではじまる行の、#の次の数字が0から始まり、1ずつ増えていくテキストとなっており、tが1と2の間のXの行の数値を読み込みたいのです。

Re:テキストファイルの読み込み

Posted: 2010年11月24日(水) 06:52
by 五反田
#include<stdio.h>

int a,b,c,d;


int main(){
    FILE *fp;
    fp=fopen("in.txt","r");
    
    char sentou[100];
    int tNO;
    
    while(fgets(sentou,99,fp)){
        sscanf(sentou,"%*3c%d",&tNO);
        if(tNO==1){
//            printf("%s\n",sentou);
//            printf("%d\n",tNO);
            fscanf(fp,"%*s%d%d%*s%d%d",&a,&b,&c,&d);
            break;
        }
    }
    printf("%d %d\n%d %d\n",a,b,c,d);
    return 0;
}
とりあえず、こんな感じでどうでしょうか?
Xの行の数やtで始まる以外の行があって、それを無視しろとかあるのかもしれませんが
とりあえず打ってみました。

Re:テキストファイルの読み込み

Posted: 2010年11月24日(水) 08:21
by さかまき
http://www.play21.jp/board/formz.cgi?ac ... &rln=65408
とよく似ています。
if (0 != t) を if (1 != t) に変えたり
case 'v' : を case 'X': に変えたり、せねばなりませんが、基本はそれでいけると思います。

Re:テキストファイルの読み込み

Posted: 2010年11月24日(水) 10:06
by ichi
ありがとうございました!