C言語でファイルが必要な理由とは?基本操作からサンプルコードまで解説
C言語におけるファイルとは?
ファイルとは、レコード(データの集まり)の集合体であり、ハードディスク上にデータを永続的に保存するための場所のことです。C言語のコマンドを使うことで、さまざまな方法でファイルにアクセスできます。
C言語でファイルが必要な理由
プログラムが終了すると、メモリ上のデータはすべて失われてしまいます。ファイルに保存しておけば、プログラムが終了してもデータを保持し続けることができます。
大量のデータを入力したい場合、すべてを手入力するには多くの時間がかかります。
すべてのデータを含むファイルを用意しておけば、C言語のわずかなコマンドでファイルの内容に簡単にアクセスできます。
データを変更することなく、あるコンピュータから別のコンピュータへ簡単に移動できます。
ファイルに対する主な操作
C言語でファイルに対して実行できる主な操作は以下のとおりです。
- ファイルに名前を付ける
- ファイルを開く
- ファイルから読み込む
- ファイルに書き込む
- ファイルを閉じる
基本構文
ファイルのオープンと命名
ファイルを開いて名前を付けるための構文は以下のとおりです。
FILE *File pointer;
例:FILE *fptr;
File pointer = fopen("ファイル名", "モード");例:fptr = fopen("sample.txt", "r");
FILE *fp;
fp = fopen("sample.txt", "w");ファイルからの読み込み
ファイルから読み込むための構文は以下のとおりです。
int fgetc( FILE * fp ); // ファイルから1文字を読み込む
ファイルへの書き込み
ファイルに書き込むための構文は以下のとおりです。
int fputc( int c, FILE *fp ); // ストリームに個々の文字を書き込む
サンプルプログラム
以下は、C言語におけるファイル操作を示すサンプルプログラムです。従業員の名前・番号・給与を入力してファイルに書き込み、その後ファイルから読み出して表示します。
#include<stdio.h>
void main(){
//ファイルの宣言//
FILE *femp;
char empname[50];
int empnum;
float empsal;
char temp;
//ファイルを開いて書き込む//
femp=fopen("Employee Details.txt","w");
//ユーザーの入力をファイルに書き込む//
printf("Enter the name of employee : ");
gets(empname);
//scanf("%c",&temp);
printf("Enter the number of employee : ");
scanf("%d",&empnum);
printf("Enter the salary of employee : ");
scanf("%f",&empsal);
//ユーザーの入力をファイルに書き込む//
fprintf(femp,"%s\n",empname);
fprintf(femp,"%d\n",empnum);
fprintf(femp,"%f\n",empsal);
//ファイルを閉じる//
fclose(femp);
//ファイルを開いて読み込む//
femp=fopen("Employee Details.txt","r");
//ファイルから出力を読み込む//
fscanf(femp,"%s",empname);
//fscanf(femp,"%d",&empnum);
//fscanf(femp,"%f",&empsal);
//結果の表示//
printf("employee name is : %s\n",empname);
printf("employee number is : %d\n",empnum);
printf("employee salary is : %f\n",empsal);
//ファイルを閉じる//
fclose(femp);
}実行結果
上記のプログラムを実行すると、以下のような結果が出力されます。
Enter the name of employee : Pinky Enter the number of employee : 20 Enter the salary of employee : 5000 employee name is : Pinky employee number is : 20 employee salary is : 5000.000000
-
【C言語】putc関数とgetc関数を使ってファイルに1文字ずつ書き込み・読み込みする方法
ファイルとは ファイル(File)とは、レコードの集まりを指し、ハードディスク上にデータを恒久的に保存しておくための場所のことです。プログラムが終了してもデータが失われないよう、永続的な保存が必要な場合にファイルが利用されます。 ファイルに対する主な操作 C言語におけるファイル操作は、基本的に以下の手順で行います。 ファイル名を指定する ファイルを開く ファイルから読み込む ファイルへ書き込む ファイルを閉じる 基本構文 まず、ファイルを扱うためのファイルポインタを宣言します。 FILE *ファイルポインタ; 宣言の例: FILE *fptr; 次に、fopen関数を使ってファイルを開きま
-
C言語の高レベルI/O関数とは?種類・構文・使い方を実例付きで徹底解説
I/Oとは、C言語における入力(Input)・出力(Output)関数のことを指します。ファイル操作を行う際には、大きく分けて「高レベルI/O」と「低レベルI/O」の2種類があり、それぞれ特徴や用途が異なります。本記事では、高レベルI/O関数の種類や構文、具体的な使い方をサンプルプログラムとともに詳しく解説します。 高レベルI/Oと低レベルI/Oの違い 高レベルI/O 人間にとって理解しやすい形式で入出力を行う。 最大の利点は移植性(ポータビリティ)の高さ。OSや環境に依存せずに動作する。 低レベルI/O コンピュータ(ハードウェア)にとって理解しやすい形式で入出力を行う。 利点は実行時