###前提・実現したいこと
C言語でファイルを読み込み、その一部分だけを取り出そうとしています。
そのために、行全体を出力するのではなく、ある部分だけを取り出すために以下のコードを参考にしているのですが、コードの一部分が理解できずに困っています。
参考サイト
###該当のソースコード
test.csv
test01,1.0,1.1,1.2,1.3,1.4 test02,2.0,2.1,2.2,2.3,2.4 test03,3.0,3.1,3.2,3.3,3.4
C
1#include <stdio.h> 2#include <stdlib.h> 3 4int main(void) { 5 FILE *fp; // FILE型構造体 6 char fname[] = "test.csv"; 7 char str[16]; 8 float f1, f2, f3, f4, f5; 9 10 fp = fopen(fname, "r"); // ファイルを開く。失敗するとNULLを返す。 11 if(fp == NULL) { 12 printf("%s file not open!\n", fname); 13 return -1; 14 } 15 16 while(fscanf(fp, "%[^,],%f,%f,%f,%f,%f", str, &f1, &f2, &f3, &f4, &f5) != EOF) { 17 printf("%s,%.1f,%.1f,%.1f,%.1f,%.1f", str, f1, f2, f3, f4, f5); 18 } 19 20 fclose(fp); // ファイルを閉じる 21 22 return 0; 23}
printf("%s,%.1f,%.1f,%.1f,%.1f,%.1f", str, f1, f2, f3, f4, f5);
の部分の「%.1f」の「.1f」は何を表しているのでしょうか。「f1」はfloatにありますが、急に出てきた「%.1f」がよくわかりません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/01/15 03:21