编译器C++中的 fstream 错误

fstream error in compiler C++

本文关键字:错误 fstream 中的 C++ 编译器      更新时间:2023-10-16
这是一个

真正的新手问题,但我的编译器给了我错误:

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)) 
{ 
    // ... 
} 

是你想要的。

杰赫林说的,但如果你确实想按字符获取,你可以做ch = fpin.get(),这将抓住一个字符。 或者你可以做fpin >> ch;来获取单个字符,但忽略空格。