C言語のfseek()関数の使い方を教えてください。
fseek()関数は、C言語のファイル操作関数で、ファイル内のポインタの位置を操作するために使用します。
関数プロトタイプ: int fseek(FILE *stream, long int offset, int origin);
パラメーターの説明:
- ストリーム:FILEオブジェクトへのポインター。操作するファイルストリームを表します。
- オフセット:ファイルポインタを移動する位置で、正、負、0 を取ります。正の値はファイルの末尾方向に、負の値はファイルの先頭方向に、0 は移動しないことを示します。
- origin: 開始位置を示し、以下のいずれかの値をとることができます。SEEK_SET: ファイルの先頭からオフセットを計算します。
SEEK_CUR: 現在の位置からオフセットを計算します。
SEEK_END: ファイルの末尾からオフセットを計算します。
返り値:
- 成功時は0を返し、失敗時は非0値を返します。
fseek() 関数を使って以下を行うことができます。
- ファイルポインタを所定の位置に移動します。
- ファイルにランダムアクセスする
- ファイルの内容を変更する。
- ファイルの長さを切り詰める。
留意事項:
- ファイルはバイナリモードで開かれる必要があります。
- ファイルポインタの位置はファイルの範囲外にはなり得ない。
ネイティブな日本語でこの文を言い換えてください。1 つのオプションのみが必要です。
#include <stdio.h>
int main() {
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
printf("文件打开失败\n");
return 1;
}
// 移动文件指针到文件末尾
fseek(file, 0, SEEK_END);
// 获取文件长度
long int size = ftell(file);
printf("文件长度:%ld\n", size);
// 关闭文件
fclose(file);
return 0;
}