检查数组是否为ASCII

0 c arrays ascii

如果uint8数组只包含ASCII元素,如何检入C?如果可能,请参考检查元素是否为ASCII的条件

Seb*_*Seb 5

您的数组元素是uint8,因此必须在0-255范围内

对于标准ASCII字符集,使用字节0-127,因此您可以使用for循环遍历数组,检查每个元素是否<= 127.

如果您将数组视为字符串,请注意0字节(空字符),它标记字符串的结尾

从您的示例注释中,可以像这样实现:

int checkAscii (uint8 *array) {
    for (int i=0; i<LEN; i++) {
        if (array[i] > 127) return 0;
    }
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

它在早于第一个大于127的元素时爆发.