2016-05-20 10 views
-3

ファイルが6列のデータで構成されています。私は2番目と最後の3つのデータを取得したいと思います。最後の3つのデータはここで 選択した列をファイルに出力する

は、ファイル内のデータの一例であり、3次元配列に格納する必要があります

 
gly 1 A 12.11 13.14 14.14 
asp 2 A 13.23 24.64 35.25 
glu 3 B 32.45 11.45 54.86 
+3

'fgets'を使って各行を読み込みます。 'sscanf'を使って各行を解析します。たとえば、[this](https://stackoverflow.com/a/36731485/3386109)を参照してください。 – user3386109

+0

本当に3次元配列が必要ですか?各行には、3つのデータ項目が配列に格納されますが、3つ、4つ、または10つの項目に関係なく、2次元配列になります。何を試しましたか? –

+0

最後の3つのデータは3dの原子の調整であるためです。だから私は配列内のすべての原子の調整を保存したい –

答えて

1

は、お好みの機能を持つそれぞれの行を読む(fgetsfscanf、...)行をsscanfと解析します。

char buffer[50]; 
char token1[15]; 
int token2; 
char token3; 
float token4, token5, token6; 

while(fgets(buffer, 49, file)) { 
    sscanf(buffer, "%s %d %c %f %f %f", token1, &token2, &token3, &token4, &token5, &token6); 
    ... 
} 

また、sscanfの戻り値にも注意してください。

関連する問題