- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个接受 16 位十六进制值作为输入的程序。我想做的就是让它提取这些值。例如,如果我输入:
0xFFFF 0x0000 0x1234
我希望程序迭代此输入字符串,并一次提取每个十六进制值。另外,如果字符串的 0x**** 格式不正确,包含无效字符(例如 $0x5544)或无效的十六进制数字(例如 0x45GG),那么我希望程序打印出“无效输入”。
我目前有一个通过每个字符递增的指针,但我想测试十六进制值以查看它们是否在允许的十六进制数字(0-F)之间,我不知道该怎么做
最佳答案
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <stdbool.h>
#include <errno.h>
bool isValid1(const char *s){
unsigned long v;
char *endp;
errno = 0;
v = strtoul(s, &endp, 16);
return !*endp && v < 0x10000 && errno != ERANGE;
}
bool isValid2(const char *s){//limited to four HEX characters : 0xXXXX
if(strlen(s)!=6)
return false;
return
*s == '0' && tolower(s[1])=='x' &&
isxdigit(s[2]) && isxdigit(s[3]) && isxdigit(s[4]) && isxdigit(s[5]);
}
int main(void){
char data[] =
"0xFFFF 0x0000 0x1234 0x01234 $0xFFFF 0x45GG 0x12345\n";
char *p = data;
for(p = strtok(p, " \n"); p ; p = strtok(NULL, " \n")){
if(!isValid1(p))
printf("isValid1(%s) : invalid input\n", p);
if(!isValid2(p))
printf("isValid2(%s) : invalid input\n", p);
}
return 0;
}
关于检查 charArray 是否只有十六进制数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26406535/
我正在阅读 an article about whole program optimization .链接时代码生成部分的最后一段说,将分配在堆栈上的数组归零可能不会产生相同的效果,具体取决于它的归零
我有 char c1 = 'S'; // S as a character char c2 = '\u0068'; // h in Unicode char c3 = 0
这个问题在这里已经有了答案: How do I determine the size of my array in C? (24 个答案) 关闭 6 年前。 在我已经有几年 Python、C# 和
这里是 Enter Your Name :xyzEnter Your Age :abc I want this preformatted text to be converted into ch
我有一个接受 16 位十六进制值作为输入的程序。我想做的就是让它提取这些值。例如,如果我输入: 0xFFFF 0x0000 0x1234 我希望程序迭代此输入字符串,并一次提取每个十六进制值。另外,如
#Input: chararr = np.chararray((3, 5)) chararr[:] = 'a' chararr #Output: chararray([[b'a', b'a', b'a
我正在尝试将我的字符数组 grid1 传递给名为 status 的方法。我收到错误 char 无法转换为 char[][]。我如何传递 grid1 以便它可以在 for 循环中工作? for
出于某种原因,我很难用空格初始化 numpy.chararray。 这有效: char_array1 = np.chararray((3, 3)) char_array1[:] = 'a' char_
我有以下代码 private static int getYear(char[] charArray) { return (int)charArray[0] * 1000 + (int)ch
以下代码应该将电话号码字符转换为实际的电话号码整数。例如,800-NEXT-DAY = 800-639-8329。但无论我在 result.substring 索引中输入什么,我都会得到字符串索引超出
我目前正在努力通过 UDP 发送一些值。 主要问题是我有很多值(value)观。如果我单独发送每个值,它就可以正常工作。 char imu_x[16]; char imu_y[16]; char im
我有这个 CharArray: char[] letters = "qwertyuiopasdfghjklzxcvbnm123456789".ToCharArray(); 我想知道如何从这个数组中获取
我有这个代码 var str : CharArray var t =0 for (k in i..i+3) { str[t++] = array[k][j] 它说str必须初始化,我不知道如
我的问题是我得到一个 String 并且我需要检查从末尾开始的第 4 个位置是否有空格。如果在这个位置没有空格,我应该插入它。 例如:我得到这个字符串:TW12EF,需要这样得到它:TW1 2EF 首
我正在尝试用 C++ 编写一个程序,它通过一个 char 数组,随着它的进行用 ch2 替换 ch1,我遇到的问题是让它改变输入的实际字符串而不是返回一个新的字符串。在 C# 中,您会使用“ref”,
我有一个严重而恼人的问题,请帮忙 mdContext->digest[i] 是一个具有十六进制值的无符号字符数组,所以 for (i = 0; i digest[i]); 打印 900150983cd
我有一个在任何情况下都满足 ([a-zA-Z0-9])* 的字符串,我想让它通过 sha1 运行。 那么如何将字符串(或使用 ToCharArray() 获得的字符数组)转换为字节数组呢? 到目前为止
如果我在字符串上使用 Split() 函数,将各种拆分字符作为 char[] 参数传递,并假定匹配的拆分字符已被删除从字符串中,我如何识别它匹配和拆分的字符? string inputString =
提前致谢。我们都知道为什么在Java中对于密码等敏感数据应该使用char[]而不是String。我只是想知道 Kotlin 中是否存在同样的情况。 document说“当针对 JVM 时,此类的实例(
我有一些大小的 char[] originalCharArray。 我想创建一个新的 char[] returnCharArray,这样每次 char ' 出现在原始 char[] 中时,都会添加另一
我是一名优秀的程序员,十分优秀!