std::stream での読み込みの例 ― 2012年07月29日 11時15分51秒
この例では、std::cout で出力。std::cout を任意に書き換えて使う。
void process_input(const char* filename)
{
char buffer[1024];
std::istream *in = NULL;
if(filename == NULL || "-" == filename)
in = &std::cin;
else
in = new std::ifstream(filename);
while(in->good())
{
in->getline(buffer, sizeof(buffer));
if(*buffer == 0)
break;
std::cout << buffer << std::endl;
}
if(in != &std::cin)
delete in;
}
buffer の最初が 0 であれば、処理を止める。また、good() で無い場合も終了。これは EOF も含まれる。
なお、ios::good() と !ios::bad() は等価では無い。ios::bad() は EOF を含めないからだ。
コメント
トラックバック
このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2012/07/29/6525188/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。