0

このようなtxtファイルがあります。

51.5u-07
-6.5 -10      
55u-10
-7 -10    
55u-10
-7 -10    
55u-10
-7 -10    
54u-10
-7 -10    
54.5u-10
-7 -10    
55u-10
-7 -10    
54.5u-10
-7 -10    
55.5u-10
-7.5 -10

このファイルを読み込んで、すべての奇数行の値を int のベクトル、vec1 に取得します。すべての偶数行の値を int のベクトル、vec2 に取得します。

たとえば、vec1 は [51.5, 55,55,55,... vec2 は [-6.5, -7, -7, -7...] です。

ありがとうございました。

4

1 に答える 1

1

次を使用して、両方の数値を一度に読み取ることができますfscanf

double first;
int second;
scanf("%lf%*[ u]%d", &first, &second);

「魔法」はフォーマット文字列にあります。それはdoubleusing を読み取り、次にスペースまたはusing を%lfスキップし、最後にusing を読み取ります。これをループで実行し、必要に応じて と変数を 2 つのベクトルにプッシュします。u%*[ u]int%dfirstsecond

ideone のデモ

于 2013-09-16T03:15:47.707 に答える