我有代码,用户将两个字符输入到string
变量中。我有一个函数可以验证用户输入是否只有两个字符长,并且它只包含有效的十六进制数字。
我想将这些数字写入一个 32 字节长的二进制文件。我试过:
outFile.write((char*)&string[0], 1);
在一个运行 32 次的循环中(我想一次写入一个字节)进行测试,但它只是为 char 编写 ascii 代码,而不是实际的 char 本身。我希望它写一个 nybble 并跳过一个 nybble,但它写了一个完整的 ascii 信息字节。所以我尝试了:
outFile.write((unsigned char*)&string[0], 1);
但是我的编译器抱怨它是一个无效的演员表。
我想在不将字符串转换为 c 样式字符串的情况下解决这个问题。换句话说,我想string
包含两个字符并代表一个字节的信息。不是四个(加上空字符)。