0

我希望 qt 创建者从文件中读取数据,就好像它们从std::cin. 那就是我想要的东西

cat in.txt type | ./may_executable_file

我需要它来测试 qt creator 中的程序,而不是每次在控制台中收集相同的数据。

4

1 回答 1

0

您应该考虑将您的程序重组为可测试的方法,这些方法将istream直接从cin. 例如:

int do_work(std::istream& is, std::ostream& os)
{
    int n, k;
    is >> n >> k;
    os << n << std::endl << k << std::endl;
}

int main()
{
   do_work(std::cin, std::cout);
   return 0;
}

现在你可能有你的测试单元,比如:

int test_work()
{
    std::ifstream inf("test.txt");
    std::stringstream out;
    do_work(inf, out);

    // Check out for results here.
}

另一种选择只是Custom Executable在运行设置中使用:http QCreator: //qt-project.org/doc/qtcreator-2.5/creator-run-settings.html

于 2013-09-15T10:38:53.760 回答