seekg()
和tellg()
都是istream
類(lèi)的成員函數(shù),用于文件定位和查詢當(dāng)前文件位置。它們的區(qū)別在于:
seekg()
用于移動(dòng)文件內(nèi)部指針到指定位置。可以通過(guò)指定相對(duì)于文件開(kāi)頭、文件結(jié)尾或當(dāng)前位置的偏移量來(lái)移動(dòng)指針。語(yǔ)法為:
stream.seekg(offset, direction);
其中offset
為偏移量,direction
為偏移方向,可以是ios::beg
(文件開(kāi)頭)、ios::end
(文件結(jié)尾)或ios::cur
(當(dāng)前位置)。
tellg()
用于查詢當(dāng)前文件位置。它返回一個(gè)streampos
類(lèi)型的值,表示當(dāng)前文件指針的位置。語(yǔ)法為:
streampos pos = stream.tellg();
其中pos
為當(dāng)前文件指針的位置。
總的來(lái)說(shuō),seekg()
用于移動(dòng)文件指針位置,而tellg()
用于查詢當(dāng)前文件指針位置。它們通常配合使用,可以實(shí)現(xiàn)在文件中進(jìn)行定位和讀取操作。