这是一个真正的新手问题,但我的编译器给了我错误:
std::fstream has no member named getc
它是相对于这行代码:
char ch;
for ((ch=fpin.getc());!fpin.eof();(ch=fpin.getc()))
fpin 是一个文件,我检查了是否打开等。没关系。我也不担心代码的质量,只是担心让它工作。我一直盯着它看太久了,我看不出问题所在。
这是一个真正的新手问题,但我的编译器给了我错误:
std::fstream has no member named getc
它是相对于这行代码:
char ch;
for ((ch=fpin.getc());!fpin.eof();(ch=fpin.getc()))
fpin 是一个文件,我检查了是否打开等。没关系。我也不担心代码的质量,只是担心让它工作。我一直盯着它看太久了,我看不出问题所在。
您尝试调用的方法是std::fstream::get
. 你可以在std::fstream
这里阅读。
好吧,编译器是对的,getc()
不是ifstream
. 以下是您的选择:
http://en.cppreference.com/w/cpp/io/basic_ifstream
通常
while(std::getline(myInStream, sstr))
{
// ...
}
是你想要的。
djechlin 说了什么,但如果你确实想按字符获取,你可以这样做ch = fpin.get()
,这将抓住一个字符。或者您可以fpin >> ch;
获取单个字符但忽略空格。