我试图从作为输入传递的命令行中读取文件。不是文件名。我不希望用户在命令行上输入文件名,这样我就可以像这样打开它:fopen(argv[1], "r");
。
我期望的文件格式是:myprogram < file_as_input
。因此,应该将文件内容放入argv中。如何在C/C++中实现?
./a.out < file
,文件的内容将会在标准输入stdin
中可用。read(0,buffer,LEN)
将从文件中读取。getchar()
将从文件中返回一个字符。using namespace std;
int main()
{
vector <string> v;
copy(istream_iterator<string>(cin),
istream_iterator<string>(),
back_inserter(v));
for(auto x:v)
cout<<x<<" ";
return 0;
}
测试
<input.txt
输出
将input.txt中的内容用空格分隔
<
在注释行上是重定向运算符。 - Grijesh Chauhan