0
私は入力ファイルから3列の数値を読み込み、得られた数値で基本的な計算を行うためにCコードを作成しています。私の入力ファイルは次のようになります。列を読み取る
155.4996 38.0078 7.65
93.9968 44.9926 7.68
私は現在、sscanf関数を使用して列を分離しようとしています。これを開始するには、列を読み込み、3番目の列だけを出力ファイルに出力しようとしています。以下は現在私が持っているものです:
FILE * fp;
FILE * fp2;
char *string;
char out[2000];
char read[1000];
int column1, column2, column3;
strcpy(read, "casecent");
strcpy(out, "Diff");
fp = fopen(read, "r");
fp2 = fopen(out, "w+");
while (!feof(fp))
{
fgets(string, 1000, fp);
sscanf(string, "%d %d %d", &column1, &column2, &column3);
fprintf(fp2,"%d\n", column3);
}
現在、数値の代わりに出力ファイルにゼロが表示されています。私はちょっとしたことをやっていないと確信していますが、もしあなたが私を助けることができたら、それは大いに感謝されます。
大変ありがとうございます!あなたが入力ファイルの最後の行を読んで2回印刷している理由を理解するのに役立つでしょうか? –
ここには非常に良い説明と修正があります:http://www.gidnetwork.com/b-58.html –