質問です。
ifstreamの走査位置を一定数戻すときってどうやるんですか?

std::ifstream ifs;
char buf[1024];
<--------色々ある。------
ifs >> buf;
int len=strlen(buf);
ifs.seekg(- len);

これでいけると思ったんですが、ステータスをgood()でみるとfalseになってしまいます。
どなたかご存知の方いらっしゃいませんか?