91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c++文件流中seekg()函數問題

c++
小云
117
2023-08-18 15:07:07
欄目: 編程語言

在C++文件流中,seekg()函數用于將文件指針移動到指定位置。它的原型如下:

istream& seekg(streampos pos);
istream& seekg(streamoff off, seekdir way);

第一個原型將文件指針移動到指定的絕對位置pos,streampos是一個類型,表示文件流的位置。

第二個原型將文件指針移動到離當前位置off個字節的位置,way參數指定了移動的方向,它可以取以下值:

  • ios::beg:從文件開頭偏移off個字節;

  • ios::cur:從當前位置偏移off個字節;

  • ios::end:從文件末尾偏移off個字節。

seekg()函數返回一個istream類型的引用,在進行文件操作時,可以使用該引用來檢測是否發生了錯誤。

下面是一個示例代碼,演示了使用seekg()函數將文件指針移動到文件開頭和文件末尾的用法:

#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream file("test.txt");
if (!file) {
cout << "Error opening file." << endl;
return 1;
}
// 獲取文件大小
file.seekg(0, ios::end);
int filesize = file.tellg();
cout << "File size: " << filesize << " bytes" << endl;
// 將文件指針移動到文件開頭
file.seekg(0, ios::beg);
char ch;
file.get(ch);
cout << "First character: " << ch << endl;
// 將文件指針移動到文件末尾
file.seekg(0, ios::end);
file.get(ch);
cout << "Last character: " << ch << endl;
file.close();
return 0;
}

在這個示例中,首先打開了一個名為test.txt的文件,并檢查文件是否成功打開,如果打開失敗,就輸出錯誤信息并返回。

接下來,使用seekg()函數將文件指針移動到文件末尾,并使用tellg()函數獲取文件指針的位置,即文件大小。

然后,將文件指針移動到文件開頭,并讀取第一個字符。最后,將文件指針移動到文件末尾,并讀取最后一個字符。

最后,關閉文件并返回。

注意,在使用seekg()函數之前,要先打開文件,并進行錯誤檢查。另外,文件流的位置是從零開始計數的。

0
玛纳斯县| 双牌县| 灌阳县| 九龙城区| 林甸县| 虎林市| 太保市| 横山县| 慈利县| 德化县| 丽水市| 行唐县| 抚宁县| 阿合奇县| 万山特区| 东兰县| 兴安盟| 澄城县| 高安市| 凌海市| 甘肃省| 东源县| 长治县| 余庆县| 沭阳县| 溆浦县| 白玉县| 普格县| 贵州省| 美姑县| 米易县| 浦北县| 胶南市| 漳浦县| 阿拉善盟| 清水河县| 和政县| 色达县| 上犹县| 朝阳县| 大方县|