1.seekg:
作用:设置输入流的位置
参数 1: 偏移量 参数 2: 相对位置 beg :相对于开始位置 cur: 相对于当前位置 end:相对于结束位置#include <iostream> #include <string> #include <fstream> #include <sstream> using namespace std; //设置输入流的位置: int main() { ifstream iffile; iffile.open("users.txt"); if (!iffile.is_open()) { cout << "打开失败!" << endl; return 1; } iffile.seekg(-10,iffile.end); while (!iffile.eof()) { string line; getline(iffile,line); cout << line << endl; } iffile.close(); system("pause"); return 0; }
2.tellg:
#include <iostream> #include <string> #include <fstream> #include <sstream> using namespace std; //返回该输入流的当前位置(距离文件的起始位置的偏移量) //获取当前文件的长度: int main() { ifstream iffile; iffile.open("源.cpp"); if (!iffile.is_open()) { return 1; } //先把文件指针移动到文件尾 iffile.seekg(0,iffile.end); int len = iffile.tellg(); cout << "len:" << len << endl; iffile.close(); system("pause"); return 0; }
3.seekp:
#include <iostream> #include <string> #include <fstream> #include <sstream> using namespace std; //设置输出流的位置: /*demo 先向新文件写入:“123456789” 然后再在第 4 个字符位置写入“ABC”*/ int main() { ofstream outfile; outfile.open("test.txt"); if (!outfile.is_open()) { return 1; } outfile << "123456789"; outfile.seekp(4,outfile.beg); outfile << "ABC"; outfile.close(); system("pause"); return 0; }