前言
testlib 是一款由 Mike Mirzayanov 开发的开源项目。本家在这里 -> https://github.com/MikeMirzayanov/testlib。另外,我制作了 WyOJ 复制版,在这里 -> https://oj.ryp.org.cn/blog/wfirstzhang/post/147。
OI-Wiki 上对于此已经有不少介绍了,我并不觉得我能写得更好。
因为 testlib 可以保证生成的数据在不同环境上一样,我推荐大家使用它造数据。
命令行参数
通常来说,我们在 OI 中会使用如下方式声明主函数:
int main();
不过,编写 testlib 程序时,我们一般用这种方式声明:
int main(int argc, char** argv);
其中 argc 表示命令行参数的数量,argv 即为命令行参数。
argv 下标从 0 开始。
读者可以尝试使用这个程序自己探究一下 argc 和 argv 中存在什么东西。
#include <iostream>
int main(int argc, char** argv) {
using namespace std;
cout << "argc = " << argc << endl;
for(int i = 0; i < argc; i++)
cout << argv[i] << endl;
return 0;
}
如果你在 Windows 中这样调用这个程序:
test.exe argv[1] argv[2] argv[3]
你应该得到这样的输出:
argc = 4 test.exe argv[1] argv[2] argv[3]

鲁ICP备2025150228号