可以说我有一个外部while循环来读取每个字符并将其输出到控制台。我也想标记一个单词,如果它被发现,并通过使用peek方法,我可以找到一个单词的第一个实例。有没有办法在前面看到多个地方?例如,如果我在寻找“发薪日”这个词。我知道我可以将它输入到一个字符串中并搜索一个字符串,但我想以二进制模式读取文件,而且我不想从外部循环中取走任何值。如果我有一个读取方法的内部循环,那么这些值不会通过外部循环显示。peek()前方多个地方?
感谢
int main()
ifstream strm;
char *chr = new char;
strm.open("mytext.txt",ios::out | ios::binary);
while (strm.read(chr,1)
{
if (strm.peek() == 'p';
{
cout << "found a word beginning with 'p'" << endl;
//what if I want to read multiple characters ahead. Peek will read only one.
}
}
为什么使用动态分配? – Shoe