Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語のfgetc()とfputc()関数の使い方を徹底解説

fgetc()関数とは

fgetc()関数は、ファイルから1文字を読み込むための標準ライブラリ関数です。読み込みに成功した場合は、ファイルポインタが指す位置の文字を返し、失敗した場合やファイルの終端に達した場合はEOF(End Of File)を返します。

C言語におけるfgetc()の構文は以下のとおりです。

int fgetc(FILE *stream)

fgetc()の使用例

例として、以下の内容が書かれた「new.txt」というファイルがあるとします。

0,hell!o
1,hello!
2,gfdtrhtrhrt
3,demo

このファイルの内容をfgetc()で読み出すサンプルコードを見てみましょう。

サンプルコード

#include<stdio.h>
#include<conio.h>
void main() {
    FILE *f;
    char s;
    clrscr();
    f=fopen("new.txt","r");
    while((s=fgetc(f))!=EOF) {
        printf("%c",s);
    }
    fclose(f);
    getch();
}

実行結果は以下のようになります。

実行結果

0,hell!o
1,hello!
2,gfdtrhtrhrt
3,demo

このプログラムでは、テキストファイル「new.txt」を扱っています。ファイルポインタを使ってファイルを読み込みモードで開き、その内容を画面に表示しています。whileループ内でfgetc()を呼び出し、EOFが返されるまで1文字ずつ読み込んではprintf()で出力することで、ファイル全体の内容を出力できる仕組みです。

FILE *f;
char s;
clrscr();
f=fopen("new.txt","r");

なお、clrscr()やgetch()はconio.hに含まれるTurbo Cなど一部の環境固有の関数であり、GCCなどの標準的なコンパイラでは利用できない点に注意してください。

fputc()関数とは

fputc()関数は、ファイルへ1文字を書き込むための関数です。書き込みに成功した場合は書き込んだ文字を返し、失敗した場合はEOFを返します。

C言語におけるfputc()の構文は以下のとおりです。

int fputc(int character, FILE *stream)

各引数の意味は次のとおりです。

character − ファイルに書き込む文字です。

stream − 文字を書き込む対象となるファイルへのポインタです。

fputc()の使用例

ここでも、以下の内容を持つ「new.txt」ファイルがあるとします。

0,hell!o
1,hello!
2,gfdtrhtrhrt
3,demo

このファイルにfputc()で文字を書き込むサンプルコードを見てみましょう。

サンプルコード

#include <stdio.h>
void main() {
    FILE *f;
    f = fopen("new.txt", "w");
    fputc('a',f);
    fclose(f);
}

このプログラムを実行すると、「new.txt」ファイルの内容が上書きされます。画面には何も表示されませんが、ファイル自体が直接変更されます。変更後のファイルを確認すると、以下のように「a」という1文字だけが書き込まれています。

a

このプログラムでは、ファイルポインタfを使って「new.txt」を書き込みモード("w")で開き、fputc()によって文字'a'をファイルに書き込んでいます。

FILE *f;
f = fopen("new.txt", "w");
fputc('a',f);

なお、"w"モードでファイルを開くと既存の内容はすべて消去されるため、既存ファイルの末尾に追記したい場合は"a"(追加書き込み)モードを使用するとよいでしょう。

  1. TXTファイルをCSVに変換する方法|Excelとオンラインツールの手順を解説

    テキストファイル(TXT)は、書式設定のないプレーンなテキストのみで構成された標準的な文書形式です。ほとんどのデバイスで開くことができ、拡張子は「.txt」となります。一方、CSV(カンマ区切り値)ファイルは、データがカンマやタブなどの区切り文字で整理された、より構造化された形式のファイルです。ウェブサイトからダウンロードすると、CSVではなくTXTファイルが取得できることもありますが、単に拡張子を変更しても正しく変換されません。そのため、ユーザー自身がTXTファイルをCSVファイルに変換する必要があります。 Excelを使ってTXTファイルをCSVに変換する方法 ExcelはTXTファイルと

  2. JNLPファイルとは?Java Web Startやテキストエディタでの正しい開き方を解説

    独自の拡張子を持つすべてのファイルは、それを実行するアプリケーションと関連付けられています。Javaに不慣れな方や学び始めたばかりの方の中には、一部のファイル拡張子についてご存じない方も多いでしょう。「.jnlpファイルとは何か」「どうやって開けばいいのか」と疑問に思うユーザーは少なくありません。また、JNLPファイルが誤って別のアプリケーションに関連付けられ、正しく開けなくなるケースもあります。この記事では、JNLPファイルの概要と、その具体的な開き方について詳しく解説します。JNLPファイルとは?JNLP(Java Network Launch Protocol)は、Webやネットワーク経