对于练习,我决定在C中重写string.c。 我无法在线(通过谷歌或其他搜索引擎)找到整个标准或特定字符串的测试套件。
更具体地说,我希望看看我的strcat(),strncat(),strchr(),strrchr(),strcmp(),strncmp(),strcpy(),strncpy(),strlen()和strstr ()函数符合ISO / IEC 9899:1990(“ISO C90”)。
有人可以推荐一种测试这些功能的好方法吗?
编辑:上面标题和段落用来表示string.h - 我的意思是string.c
答案 0 :(得分:4)
P.J. Plauger,在他的书The Standard C Library(涵盖实施整个图书馆)中为图书馆的每个部分提供了测试程序。这些并非详尽无遗,我没有他们的在线资源,但这本书绝对是实施该图书馆的人所感兴趣的。
答案 1 :(得分:2)
编译器和库验证测试套件随时可用。 IIRC,Rogue Wave参与了这项业务。但他们花钱,使用它们的公司往往有大笔资金。
GNU的人也有它们,looks like a good place to start。您将不得不进行一些挖掘以隔离string.h测试。但是,请不要犹豫,自己编写这些测试。对我来说,这是一种更好的方法来学习字符串函数应该和不应该做的重新实现。