【发布时间】:2018-08-14 12:12:57
【问题描述】:
我正在构建一个程序,该程序将输入视为裸 MAC 地址并将其转换为二进制字符串。我在嵌入式系统上执行此操作,因此没有 STD。我一直在尝试类似于 this question 的东西,但是 2 天后我没有取得任何成就,我对这类事情真的很不好。
我想要的是输出等于目标,考虑到这一点:
#include <stdio.h>
int main() {
const char* goal = "\xaa\xbb\xcc\xdd\xee\xff";
printf("Goal: %s\n", goal);
char* input = "aabbccddeeff";
printf("Input: %s\n", input);
char* output = NULL;
// Magic code here
if (output == goal) {
printf("Did work! Yay!");
} else {
printf("Did not work, keep trying");
}
}
谢谢,这是一个个人项目,我真的很想完成它
【问题讨论】:
-
你需要分配空间来存储你的输出;
char *output = NULL:不会那样做。您需要使用strcmp()来比较字符串;使用==不起作用(它比较两个指针值;除非您使用output = goal;(或goal = output;),否则比较将失败)。您甚至没有展示将aa转换为\xaa的基本尝试。
标签: c string arduino hex ascii