C++ fseek 在二進(jìn)制文件中應(yīng)用

c++
小樊
91
2024-07-15 17:42:46
欄目: 編程語言

在C++中,可以使用fseek函數(shù)來在二進(jìn)制文件中移動(dòng)文件指針的位置。fseek函數(shù)的原型如下:

int fseek(FILE *stream, long int offset, int origin);

其中,stream是指向要在其上進(jìn)行移動(dòng)操作的文件流的指針;offset是要移動(dòng)的字節(jié)數(shù);origin指定了移動(dòng)操作的起始位置,可以是SEEK_SET(文件起始位置)、SEEK_CUR(當(dāng)前位置)或SEEK_END(文件末尾位置)。

下面是一個(gè)簡單的示例,演示如何使用fseek在二進(jìn)制文件中移動(dòng)文件指針的位置:

#include <iostream>
#include <fstream>

int main() {
    std::ifstream file("example.bin", std::ios::binary);

    if (!file) {
        std::cerr << "Failed to open file." << std::endl;
        return 1;
    }

    // Move file pointer to the 5th byte from the beginning
    fseek(file, 4, SEEK_SET);

    // Read and print the next byte
    char nextByte;
    file.read(&nextByte, 1);
    std::cout << "Next byte: " << nextByte << std::endl;

    file.close();

    return 0;
}

在上面的示例中,首先打開了一個(gè)名為example.bin的二進(jìn)制文件,然后使用fseek函數(shù)將文件指針移動(dòng)到文件的第5個(gè)字節(jié)處。接著讀取并打印了下一個(gè)字節(jié)的內(nèi)容。

0