我有一个结构,里面有几个数组.数组的类型为unsigned char [4].
我可以通过调用初始化每个元素
struct->array1[0] = (unsigned char) something;
...
struct->array1[3] = (unsigned char) something;
Run Code Online (Sandbox Code Playgroud)
只是想知道是否有办法在一行中初始化所有4个值.
解决方案:我需要创建一个临时数组,其中所有值都已初始化,然后调用memset()将值复制到struct数组中.
我试图在终端中构建一个简单的程序.
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("TESTING");
return 1;
}
Run Code Online (Sandbox Code Playgroud)
我跑了g ++ -o test test.cpp
错误:
/usr/include/features.h:323:26: error: bits/predefs.h: No such file or directory
/usr/include/features.h:356:25: error: sys/cdefs.h: No such file or directory
/usr/include/features.h:388:23: error: gnu/stubs.h: No such file or directory
In file included from test.cpp:2:
/usr/include/stdlib.h:42:29: error: bits/waitflags.h: No such file or directory
/usr/include/stdlib.h:43:30: error: bits/waitstatus.h: No such file or directory
/usr/include/stdlib.h:320:49: error: sys/types.h: No such file or directory
In file included from test.cpp:2:
/usr/include/stdlib.h:35: error: ‘__BEGIN_DECLS’ does …Run Code Online (Sandbox Code Playgroud) 我已经将MAC地址提取到char*数组中,使得数组的每个部分都是一对char值.
mac[0] = "a1"
mac[1] = "b2"
...
mac[5] = "f6"
Run Code Online (Sandbox Code Playgroud)
基本上我需要取char数组并将它们转换为unsigned char,这样十六进制表示与原始char值相同.
a1 in ascii -> 0xa1
Run Code Online (Sandbox Code Playgroud)
在C中将char*转换为十六进制的最佳方法是什么?