使用输入重定向,如何读取文件并获取C中的字符串?

时间:2012-11-26 06:03:39

标签: c++

我有一个文件,我希望我的程序从命令行使用输入重定向读取。例如,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());

}

1 个答案:

答案 0 :(得分: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);
}