如何使用ASSERT检查字符串是否包含字符?例如,仅当字符串中包含“ +”时,我才想对其进行处理。如何在C中使用assert?
答案 0 :(得分:1)
您可以将strchr
与assert
函数一起使用。
char x[20] = "hello+";
assert(strchr(x,'+') != NULL);
如果在strchr(x,'+')
中找不到字符, NULL
将返回string
,因此您可以将其返回值用于assert
。
如果expression为false(即比较等于零),则assert() 将错误消息打印为标准错误并终止程序 通过调用abort(3)。该错误信息包括文件名 和包含assert()调用的函数,源代码行 通话号码和参数文字;像这样:
strchr()和strrchr()函数返回指向匹配对象的指针 字符或NULL(如果找不到该字符)。终止 空字节被认为是字符串的一部分,因此如果指定了c 作为“ \ 0”,这些函数返回指向终止符的指针。