【C言語】read関数の使い方を詳しく解説

この記事では、C言語のread関数について詳しく解説します。

読み込み処理を行う際に必要な知識を簡潔にまとめていますので、C言語のプログラミング初心者の方にも分かりやすい内容となっています。

目次から探す

read関数とは

read関数は、C言語でファイルからデータを読み込むために使用される関数です。

read関数を使用することで、指定したファイルから指定したバイト数だけデータを読み込むことができます。

read関数の概要

read関数の構文は以下の通りです。


#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);

read関数は、unistd.hヘッダーファイルに定義されています。

引数として、ファイルディスクリプタ(fd)、読み込んだデータを格納するバッファ(buf)、読み込むバイト数(count)を受け取ります。

引数説明
int fdファイルディスクリプタ。読み込み対象のファイルを指定するための識別子。
void *buf読み込まれたデータの格納先となるバッファへのポインタ。
size_t count読み込むバイト数を指定する。

countの値に応じて、指定したバイト数だけデータを読み込みます。

read関数の戻り値

read関数の戻り値は、実際に読み込んだバイト数です。

正常に読み込みが行われた場合、戻り値は0以上の値となります。

読み込みがエラーで終了した場合、-1が返されます。

また、戻り値が0の場合は、ファイルの終端に達したことを意味します。

つまり、もう読み込むデータがないことを示します。

以上がread関数の概要、引数、戻り値についての説明です。

read関数を使用することで、ファイルからデータを読み込むことができます。

read関数の基本的な使い方

read関数は、C言語でファイルや標準入力からデータを読み込むために使用される関数です。

この記事では、read関数の基本的な使い方について説明します。

ファイルからの読み込み

まずは、ファイルからの読み込みについて説明します。

read関数を使用する前に、ファイルを開く必要があります。

ファイルを開くには、fopen関数を使用します。

以下のように書きます。


#include <stdio.h>
int main() {
    FILE *file;
    char buffer[100];
    file = fopen("sample.txt", "r");
    if (file == NULL) {
        printf("ファイルを開けませんでした。\n");
        return 1;
    }
    // ファイルからデータを読み込む
    int bytesRead = read(fileno(file), buffer, sizeof(buffer));
    // 読み込んだデータを表示する
    printf("読み込んだデータ: %s\n", buffer);
    // ファイルを閉じる
    fclose(file);
    return 0;
}

上記の例では、”sample.txt”という名前のファイルを読み込んでいます。

ファイルが正常に開けたかどうかを確認するために、ファイルポインタがNULLであるかどうかをチェックしています。

read関数は、ファイルディスクリプタ、読み込むデータを格納するバッファ、および読み込むバイト数を引数として受け取ります。

上記の例では、fileno関数を使用してファイルポインタからファイルディスクリプタを取得し、read関数に渡しています。

標準入力からの読み込み

次に、標準入力からの読み込みについて説明します。

標準入力からの読み込みは、ファイルからの読み込みと同様の方法で行うことができます。


#include <stdio.h>
int main() {
    char buffer[100];
    // 標準入力からデータを読み込む
    int bytesRead = read(fileno(stdin), buffer, sizeof(buffer));
    // 読み込んだデータを表示する
    printf("読み込んだデータ: %s\n", buffer);
    return 0;
}

上記の例では、標準入力からデータを読み込んでいます。

標準入力は、キーボードからの入力を受け付けることができます。

read関数の第1引数には、fileno関数を使用して標準入力のファイルディスクリプタを指定します。

第2引数には、読み込んだデータを格納するバッファを指定します。

第3引数には、読み込むバイト数を指定します。

以上が、read関数の基本的な使い方についての説明です。

ファイルからの読み込みや標準入力からの読み込みにおいて、正常にデータを読み込むことができるかどうかを確認するために、エラーチェックを行うことも重要です。

1 2

この記事のページ一覧
  1. 現在のページ
目次から探す