我想从 .txt 文件中获取数字并通过命令行将它们输入到程序中,如下例所示。我使用 ./program < input.txt 运行 exe。但是它打印随机数。我做错了什么?
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
//print 1st number
cout << argv[1];
}
最佳答案
cout << argv[1];
相当于:
char* arg = argv[1];
cout << arg;
它只是打印程序第一个参数的值
在您的情况下,您没有为程序提供参数。
当你使用时,
./program < input.txt
input.ext
的内容成为您程序的stdin
。您可以使用:
int c;
while ( (c = fgetc(stdin)) != EOF )
{
fputc(c, stdout);
}
如果你想继续使用 C++ 流,你可以使用:
int c;
while ( (c = cin.get()) != EOF )
{
cout.put(c);
}
关于来自文本文件的 C++ 命令行输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23557410/