3

为了练习,我决定用 C 重写 string.c。我无法在线(通过谷歌或其他搜索引擎)找到整个标准或专门用于 string.h 的测试套件

更具体地说,我正在寻找我的 strcat()、strncat()、strchr()、strrchr()、strcmp()、strncmp()、strcpy()、strncpy()、strlen() 和 strstr() 函数符合 ISO/IEC 9899:1990 (``ISO C90'')。

谁能推荐一个测试这些功能的好方法?

编辑:上面的标题和段落曾经说 string.h - 我的意思是 string.c

4

2 回答 2

4

PJ Plauger在他的《标准 C 库》一书中(涵盖了整个库的实现)为库的每个部分提供了测试程序。这些并不是详尽无遗的,我也没有它们的在线资源,但是这本书对于任何实现图书馆的人来说绝对是有兴趣的。

于 2009-12-30T10:56:30.010 回答
2

编译器和库验证测试套件随时可用。IIRC,Rogue Wave 从事这项业务。但它们要花钱,使用它们的公司往往财力雄厚。

GNU 人也有它们,这看起来是个不错的起点。您必须进行一些挖掘以隔离 string.h 测试。但是,不要犹豫,自己编写这些测试。它让我觉得比重新实现函数更好地了解字符串函数应该做什么和不应该做什么。

于 2009-12-30T13:31:19.010 回答