在 Linux 中,您可以使用 C 語言的 fopen()
函數(shù)來打開和定位一個文件
stdio.h
。#include<stdio.h>
fopen()
函數(shù)打開文件。您需要提供文件名和所需的訪問模式。例如,以只讀模式打開文件:FILE *file = fopen("example.txt", "r");
fopen()
是否成功打開文件。如果打開失敗,fopen()
將返回一個空指針(NULL)。if (file == NULL) {
printf("無法打開文件\n");
return 1;
}
fseek()
函數(shù)定位到文件的特定位置。fseek()
函數(shù)接受三個參數(shù):文件指針、偏移量和定位方式。例如,將文件指針移動到文件開始位置后的第 10 個字節(jié):int offset = 10;
int origin = SEEK_SET; // 從文件開始位置計算偏移
fseek(file, offset, origin);
現(xiàn)在,您可以從當(dāng)前文件指針位置開始讀取或?qū)懭胛募?。例如,使?fread()
或 fwrite()
函數(shù)。
完成文件操作后,使用 fclose()
函數(shù)關(guān)閉文件。
fclose(file);
下面是一個完整的示例程序,該程序打開一個名為 example.txt
的文件,將文件指針定位到第 10 個字節(jié),然后讀取一個字符并將其打印到控制臺:
#include<stdio.h>
int main() {
FILE *file = fopen("example.txt", "r");
if (file == NULL) {
printf("無法打開文件\n");
return 1;
}
int offset = 10;
int origin = SEEK_SET;
fseek(file, offset, origin);
char c = fgetc(file);
printf("文件第 10 個字節(jié)的字符是: %c\n", c);
fclose(file);
return 0;
}
編譯并運行此程序,它將打開 example.txt
文件,將文件指針定位到第 10 個字節(jié),并打印該位置的字符。