seekp()和seekg()函数简单的应用

   2025-02-13 7700
核心提示:seekp()和seekg()函数是C++中的流定位函数,用于在流中定位读写位置。seekp()函数用于定位输出流的写入位置,seekg()函数用于定

seekp()和seekg()函数是C++中的流定位函数,用于在流中定位读写位置。

seekp()函数用于定位输出流的写入位置,seekg()函数用于定位输入流的读取位置。

两个函数的参数是一个偏移量,用于指定相对于特定位置的位置。偏移量可以是正数、负数或零。

seekp()函数有两个参数,第一个参数是偏移量,第二个参数是指定开始位置的标志。开始位置标志有三个选项:

ios::beg:相对于流的起始位置ios::cur:相对于当前位置ios::end:相对于流的末尾位置

seekg()函数的参数和seekp()函数相同。

下面是seekp()和seekg()函数的简单应用示例:

#include <iostream>#include <fstream>int main() {   std::ofstream outputFile("example.txt");   // 写入数据到文件   outputFile << "Hello, World!" << std::endl;   outputFile << "This is a test.";   // 移动写入位置到文件起始位置   outputFile.seekp(0, std::ios::beg);   // 再次写入数据到文件   outputFile << "New data.";   // 关闭文件   outputFile.close();   std::ifstream inputFile("example.txt");   // 移动读取位置到文件末尾   inputFile.seekg(0, std::ios::end);   // 获取文件大小   std::streampos fileSize = inputFile.tellg();   std::cout << "File size: " << fileSize << " bytes" << std::endl;   // 关闭文件   inputFile.close();   return 0;}

以上示例中,首先创建一个输出文件流outputFile,写入一些数据到文件中。然后使用seekp()函数将写入位置移动到文件起始位置,并再次写入新的数据。

接下来创建一个输入文件流inputFile,使用seekg()函数将读取位置移动到文件末尾,并使用tellg()函数获取文件的大小。

最后关闭文件流。

输出结果为:

File size: 16 bytes

这个例子演示了如何使用seekp()seekg()函数在文件中定位读写位置。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言