我想使用 C ++ 来提取要解析的.txt
文件(将从终端指向)的内容,但我不知道如何这样做呢?我知道我们做了
./a.out < file.txt
然后将file.txt
放入标准输入中,但后来我感到困惑,因为我不确定如何访问文件内容来解析它等等。
答案 0 :(得分:0)
您可以将定向输入视为cin的输入。假如我有以下文件input.txt
Hello
World
然后运行像
这样的可执行文件 ./a < input.txt
我可以做类似
的事情std::string s1;
std::string s2;
std::cin >> s1;
std::cin >> s2;
std::cout << s1 << s2 << "\n";
然后打印Hello Word。 getline with cin也是一个选择。可以把它想象成一个非常快的用户在每个输入语句中立即输入一行。
答案 1 :(得分:0)
您可以在std::ifstream
的参数上获取文件名作为输入,并打开该文件的int main(int argc, char* argv[]) {
std::ifstream file(std::string(argv[1]));
if (file.is_open()) {
//read input
}
}
。
./a filename
您可以致电file
。要阅读std::cin
,您可以像Select @dist:=((ACOS(SIN(1.3903496 * PI() / 180) * SIN(latitude * PI() / 180) + COS(1.3903496 * PI() / 180) * COS(latitude * PI() / 180) * COS((103.8846613- longitude) * PI() / 180)) * 180 / PI()) * 60 * 1.1515) AS distance from tabl_name
那样阅读(请参阅NickLamp的答案)。