MENU

Fun & Interesting

【基礎プログラミングENG】031:C言語[ファイル処理/ファイルのオープン・クローズ/ファイルの中身を読み込む]

Video Not Working? Fix It Now

*プログラムリストは、下記にあります↓
#C言語#ファイル処理
【学習内容】
1: ファイル処理
-----------------------------------------------------------------------------------
<プログラムリスト>(Visual Studio2022)
コピー&ペーストでお使い下さい。
*”TABキー”でスペースの間隔の体裁を整えて下さい。
(プログラムの記述画面に”全角”のスペースが
 含まれていると、ビルドに失敗します。)
-----------------------------------------------------------------------------------
【プログラム1】
[ファイルに書かれている数値の合計を求める]
-----------------------------------------------------------------------------------
//**の部分の<,>を半角文字に書き換えて下さい。

#include<stdio.h> //**

int main(void)
{
FILE* fp = NULL;
char line[128];

if (fopen_s(&fp, "c:/data/data.txt", "r") != 0) {
printf("ファイルをオープン出来ませんでした\n");
return 1;
}

int j;
int total = 0;

while (fscanf_s(fp, "%d", &j) != EOF) {
printf("%dを読み込みました\n", j);
total += j;
}

printf("合計 = %d\n", total);

fclose(fp);
return 0;

}

-----------------------------------------------------------------------------------
【プログラム2】
[ファイルに書かれた2列の数値の平均値を求める]
-----------------------------------------------------------------------------------
//**の部分の<,>を半角文字に書き換えて下さい。

#include<stdio.h> //**

int main(void)
{
int number = 0;//個数
double data_A, data_B;//データA、B
double Asum = 0.0;//A合計
double Bsum = 0.0;//B合計

FILE* fp = NULL;


if (fopen_s(&fp, "c:/data/data.txt", "r") != 0)
printf("ファイルをオープン出来ませんでした\n");
else {

while (fscanf_s(fp, "%lf%lf", &data_A, &data_B) == 2) {

printf("%5.1f %5.1f\n", data_A, data_B);
number++;
Asum += data_A;
Bsum += data_B;
}
}

printf("平均\n%5.1f %5.1f\n", Asum / number, Bsum / number);

fclose(fp);

return 0;

}

Comment