0

コマンドラインからの入力リダイレクトを使用して、プログラムに読み取らせたいファイルがあります。たとえば、a.out < file.dat. 次にcin.get()、文字を使用して配列に入れようとしました。

既存の投稿のいくつかで見られている入力ファイル名をハードコーディングしたくありません。この入力リダイレクトを として扱う場合stdin、ファイルを明示的に開く必要がありますか?

int main (int argc, char *argv[])
{

  string filename;
  ifstream infile;

  cin >> filename;  

  do {               

  int c = 0; 
  c = infile.get();  //need to get one character at a time
                     //further process


} while ( ! infile.eof());

}

4

1 に答える 1

1

cinに関連付けられたストリームバッファであるを使用できますstdin

#include <iostream>

int main()
{
    char c;
    while (std::cin.get(c))
    {
        std::cout << c << std::endl; // will print out each character on a new line
    }
    exit(0);
}
于 2012-11-26T06:51:40.093 に答える