第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

C++二進(jìn)制文件讀取時(shí)怎么定位

C++二進(jìn)制文件讀取時(shí)怎么定位

C++
肥皂起泡泡 2019-03-22 15:14:32
C++二進(jìn)制文件讀取時(shí)怎么定位
查看完整描述

2 回答

?
慕尼黑5688855

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊

樓主可知道有個(gè)函數(shù)叫做 fseek ?

1int fseek(FILE * stream, long offset, int fromwhere); // in stdio.h/cstdio

參數(shù)stream為文件指針,offset為偏移量,fromwhere為指針的起始位置。

參數(shù) offset 為根據(jù)參數(shù) fromwhere 來移動(dòng)讀寫位置的位移數(shù)。參數(shù) fromwhere 為下列其中一種:

SEEK_SET:從距文件開頭 offset 位移量為新的讀寫位置;

SEEK_CUR:以目前的讀寫位置往后增加 offset 個(gè)位移量;

SEEK_END:將讀寫位置指向文件尾后再增加 offset 個(gè)位移量。

當(dāng) fromwhere 為 SEEK_CUR 或 SEEK_END 時(shí),參數(shù) offset 允許負(fù)值的出現(xiàn)。對于以二進(jìn)制方式打開的文件流,移動(dòng)后的位置為 fromwhere + offset。

【返回值】成功返回 0,否則返回非 0 值。如果發(fā)生讀寫錯(cuò)誤,將會(huì)設(shè)置設(shè)置文件錯(cuò)誤標(biāo)識(shí)。

如果為重定向,請?jiān)?stream 處填寫stdin 。


查看完整回答
反對 回復(fù) 2019-03-27
?
慕萊塢森

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

C++不支持直接定位到某一行。不過可以通過先定位到文件開始,然后把之前所有行均讀出的方式,使文件定位到具體行。

具體代碼如下:

1

2

3

4

5

6

7

8

9

10

11

12

ifstream & seek_to_line(ifstream & in, int line)

//將打開的文件in,定位到line行。

{

    int i;

    char buf[1024];

    in.seekg(0, ios::beg);  //定位到文件開始。

    for(i = 0; i < line; i ++)

    {

        in.getline(buf, sizeof(buf));//讀取行。

    }

    return in;

}


 

 


查看完整回答
反對 回復(fù) 2019-03-27
  • 2 回答
  • 0 關(guān)注
  • 638 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)