2012-04-25 79 views
1

这是一个真正的新手问题,但我的编译器是给我的错误:fstream的错误

std::fstream has no member named getc 

它是相对于这行代码:

char ch; 

for ((ch=fpin.getc());!fpin.eof();(ch=fpin.getc())) 

fpin是一个文件我已经检查过开放等等。我也不担心代码的质量,只是担心它的工作。我一直盯着它看,直到我看不到问题。

+0

没有ifstream :: getc方法,所以你不应该调用它。见[这里](http://en.cppreference.com/w/cpp/io/basic_fstream)。 – juanchopanza 2012-04-25 21:14:25

+2

这是因为它没有名为'getc'的成员 – 2012-04-25 21:14:27

+0

感谢所有的输入人员。在这个阶段我真的应该知道这个东西! – adohertyd 2012-04-25 21:26:42

回答

2

djechlin说了些什么,但如果你想要通过角色获得,你可以做ch = fpin.get(),它会抓住一个字符。或者你可以做fpin >> ch;来获得一个字符,但忽略空白。

+0

这是我正在寻找的答案。谢谢你会接受我的答案。谢谢 – adohertyd 2012-04-25 21:26:11

4

您试图调用的方法是std::fstream::get。你可以阅读约std::fstreamhere