YouTube でプログラミング を学習!【趣味プロch】

【C言語】ファイル読み込みと書き込み-ソースコードあり

プログラミング
スポンサーリンク

 

こんにちは!

ポーランドで情報工学を勉強しています。

 

 

本記事ではC言語のファイル処理についてです。

 

給料とスコアのデータを読み込んでボーナス込みの合計給料を表示するプログラム。

生徒のテストの点数を読み込んで平均点を計算し成績をアウトプットするプログラム。

 

の2つのコードを書きました。

 

大学1年のC言語の授業で、ファイル処理についての課題を提出しなければいけない方、少しでも参考になれば幸いです。

 

↓YouTube にダイジェスト動画もアップしてあるので、そちらもぜひご覧ください。

 

【早送り】C言語入門/ファイル入出力【スコアを読み込んで給料を書き出す/点数を読み込んで成績を書き出すコード】

 

他の動画でもファイル処理についての解説を行っているので、チャンネルをぜひ覗いてみてください。

 

スポンサーリンク

ファイル読み込み

 

ファイルを読み込むにはまずファイルを開く必要があります。

ファイルを使うときは、fopen関数でのオープンが必要です。

 

fp = fopen("workers.txt", "r");

 

workers.txtというファイルを開く場合はこんな感じ。

fpの変数名は別になんでもいいです。

“r”は読み取りモードを表します。

 

ファイルの使用が終わったらファイルをクローズする作業が必要です。

fclose関数を使いさっき開いたファイルを閉じる作業。

 

fclose(fp);

 

データの読み込みにはfscanf関数を使い、データの書き込みにはfprintf関数を使います。

サンプルプログラム

 

給料とスコアのデータを読み込んでボーナス込みの合計給料を表示するプログラム。

 

まず、なにも書いていない”output.txt”ファイル。

データが書いてある”workers.txt”ファイル。

の2つを同じディレクトリ内に作ってください。

 

 

たとえばこんな感じ。

“workers.txt”内は 名前 苗字 給料 スコア という順番で。

 

変更後の給料をファイルに書き込むプログラム

 

このファイルを実行するとこういう結果が表示されます。

 

 

“workers.txt”から読み込んだデータをもとに新しい給料を表示しています。

さっきはデータがなにもなく空だった”output.txt”ファイルも実行後はこのようなデータが書き込まれます。

 

 

プログラム内のボーナスを計算する関数はこちらのほうが分かりやすいと思います。

 

【compute_bonus関数だけ変更】

 

malloc で確保したメモリ領域は使い終わったら free 関数を用いて解放します。

 

動画でもコードの説明をしています↓

【C言語入門/ファイル入出力①】給料とスコアを読み込みボーナス込みの給料を表示するプログラム

生徒のテストの点数を読み込んで平均点を計算し成績をアウトプットするプログラム。

 

次に、生徒の点数を読み込んで平均点を計算し、それをもとにした成績を書き出すプログラムについて。

 

まず、なにも書いていない”results.txt”ファイル。

データがある”students.txt”ファイルの2つを同じディレクトリ内に作ってください。

 

 

たとえば”students.txt”ファイル内はこんな感じ。

 

平均点を計算し成績をファイルに書き込むプログラム

 

 

これを実行するとこのような結果が表示されます。

 

 

なにも書いていなかった”results.txt”ファイルにはこのようなデータが書き込まれます。

 

 

と、まあこんな感じです。

 

動画でもコードの説明をしています↓

 

【C言語入門/ファイル入出力②】テストの点数を読み込んで平均点を計算し成績を書き出すプログラム

 

以上、C言語のファイル処理についてでした。

 

C言語のおすすめ参考書はこちら。

 

【初心者から中級まで】C言語おすすめ入門参考書・動画
初心者用から中級・上級のC言語おすすめ参考書・動画をまとめました。入門もこの本で完璧。演算子、配列、関数、ポインタ、関数、構造体や文字列など基礎はバッチリ勉強できます。実際にゲームを作ることも可能。

ご質問・ご感想は

ツイッターお問い合わせからいただけるとうれしいです。

 

最後まで読んでくれてありがとうございます。

ツイッターのフォローもお願いします。

それではまた!
 
 


YouTubeチャンネルを開設しました。
主にプログラミングについて配信をしています。

 

 
 

プログラミング
スポンサーリンク
この記事をSNSでシェアする
フォローする
スポンサーリンク

コメント