0

次の行を含むファイルがあります。

0: 1(ab) 6(a)
1: 3(b) 4(a)
2: 5(a) 3(ab)

これらの行を分割して値を取得し、何らかの形で配列などに格納したいと考えています。

どんな助けでも!

More Explanations

0、1、2 はグラフのピークです。

最初のピーク 0 には、2 つの弧 1 と 6 があり、括弧の間に弧の値があります。

4

1 に答える 1

0

@Adeelが示唆するように、fscanfは問題なく動作するようです:-

#include<stdio.h>

int main()
{
    int peak, arc1, arc2;
    char v1[100], v2[100];
    scanf("%d: %d(%s %d(%s", &peak, &arc1, &v1, &arc2, &v2);
    v1[strlen(v1)-1] = 0; // clear the closing parentheses
    v2[strlen(v2)-1] = 0; // clear the closing parentheses

    printf("%d, %d, %s, %d, %s", peak, arc1, v1, arc2, v2);
}

文字列が 1 先まで読み取られているため、クリアが必要です。これは、入力に任意のスペースが含まれていない場合に機能します。そのような場合には、 strtok などが必要になる場合があります。

テスト済み:-

C:\Users\user\Desktop>test.exe
0: 1(ab) 6(a)

出力:-

0, 1, ab, 6, a
于 2012-12-19T10:46:59.720 に答える