嘿,我需要一些无符号char位访问的帮助。我需要测试以确保作为无符号字符(UCHAR)的“通道”长度为6位(我有)并且输入的数字实际上是二进制数(也就是1或0)。我不知道如何访问它。任何帮助都会很棒!
void binEnter(void *channel){
int i;
for (i=0; i<6; i++) {
redo:
printf("Enter binary value for Channel %d: ",i);
scanf("%s",(UCHAR *)channel);
if (strlen(channel)!=6) {
printf("Error entry must be six digits!\n");
goto redo;
}
}
}
答案 0 :(得分:0)
制作循环以检查每个数字。
char *string = channel;
for (j = 0; j < 6; j++)
{
if ((string[j] != '0') && (string[j] != '1'))
{
// error
}
}
您也可以使用strtol(3)
并检查endptr
中的结果,看看您是否有一个6位数字。