3 回答

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超18個(gè)贊
int get();
istream& get ( char& c );
istream& get ( char* s, streamsize n );
istream& get ( char* s, streamsize n, char delim );
istream& get ( streambuf& sb);
istream& get ( streambuf& sb, char delim );
可以從輸入設(shè)備獲得一個(gè)字符,也可以讀取字符串。默認(rèn)采用'\n'作為分隔符。
使用get函數(shù)時(shí),get函數(shù)與getline接受的參數(shù)相同,解釋參數(shù)的方式也相同,并且都讀取到行尾,但是get不再讀取并丟棄換行符,而是將其留在輸入隊(duì)列中。所以經(jīng)常出問題。由于第一次調(diào)用后,換行符留在隊(duì)列中,因此第二次調(diào)用時(shí)看到第一個(gè)字符邊是換行符,因此get認(rèn)為已經(jīng)到達(dá)隊(duì)尾,而沒有發(fā)現(xiàn)任何可讀取的內(nèi)容。如果不借助于幫助,get將不能跨過該換行符??梢圆捎胓et的另一種重載的形式來讀取這個(gè)換行符,然后為下一行的輸入做好準(zhǔn)備。

TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊
重定位流上的文件指針
用 法: int fseek(FILE *stream, long offset, int fromwhere);
描 述: 函數(shù)設(shè)置文件指針stream的位置。如果執(zhí)行成功,stream將指向以fromwhere為基準(zhǔn),偏移offset個(gè)字節(jié)的位置。如果執(zhí)行失敗(比如offset超過文件自身大小),則不改變stream指向的位置。
返回值: 成功,返回0,否則返回其他值。
int fseek( FILE *stream, long offset, int origin );
第一個(gè)參數(shù)stream為文件指針
第二個(gè)參數(shù)offset為偏移量,整數(shù)表示正向偏移,負(fù)數(shù)表示負(fù)向偏移
第三個(gè)參數(shù)origin設(shè)定從文件的哪里開始偏移,可能取值為:SEEK_CUR、 SEEK_END 或 SEEK_SET
SEEK_CUR: 當(dāng)前位置
SEEK_END: 文件結(jié)尾
SEEK_SET: 文件開頭
其中SEEK_CUR,SEEK_END和SEEK_SET依次為1,2和0
添加回答
舉報(bào)