我有一个我试图打开的numers文件,但是当我跑的时候 我的文件不打印值,只给我0。
代码:
int main(int argc,char *argv[])
{
for (int count=0; count < argc; ++count)
std::cout << count << " " << argv[count] << '\n';
return 0;
}
文件:
198 4 12
我运行时获得的输出./text&lt; file.txt的 是0。
答案 0 :(得分:1)
您正在使用的< file.txt
语法实质上是模拟键盘输入,即传统上以C ++中的std::cin
或C中的stdin
已知/访问的输入流。
有关该主题的更多背景信息:What are the shell's control and redirection operators?
您的代码正在尝试迭代命令行参数,这既不会从std::cin
中提取输入,也不会在知道涉及文件的情况下访问输入。
如果您希望或需要从std::cin
中提取数据(这与您的<
语法一致),请查看以下参考资料,并举例说明如何完成:std::cin, std::wcin
如果要将输入作为文件处理,请尝试使用示例:std::basic_ifstream。
(请注意,后一个示例处理二进制文件,但您可以对文本文件进行适当的更改。)
答案 1 :(得分:0)
我认为您正在尝试将文件内容重定向到INPUT流,请尝试以下代码段:
remove