C言語におけるポインタの使用方法
C言語では、カーソルは通常、ファイルの読み書き操作に使用されます。カーソルとはファイル内部の位置を指すポインタで、ファイルの任意の位置を指すことが可能で、これによりファイルのランダムアクセスが可能になります。
C言語では、カーソル位置の移動にはfseek関数を使用します。fseek関数のプロトタイプは次のとおりです。
int fseek(FILE *stream, long int offset, int origin);
ストリームはファイルに対するポインタであり、オフセットはカーソルを移動する距離を指定、原点は以下3つの定数のいずれか
- ファイルの先頭からのオフセット量。
- SEEK_CUR: オフセットは現在のカーソル位置から計算されます。
- ファイルの終わりからオフセットを計算します。
たとえば、ファイルの先頭にカーソルを配置するには、次のコードを使用できます。
fseek(file, 0, SEEK_SET);
カーソルを10バイト進めるには、次のようなコードを使用できます。
fseek(file, -10, SEEK_CUR);
カーソルをファイルの末尾に移動するには、次のコードを使用します。
fseek(file, 0, SEEK_END);
また、ftell関数を使って現在のカーソルの位置を取得することもできます。ftell関数のプロトタイプは以下の通りです。
long int ftell(FILE *stream);
現在位置を取得するには、次のようなコードを利用できます。
long int position = ftell(file);
以上の方法により、カーソルを使用してファイルを柔軟に読み書きできます。