memcmp

    5热度

    2回答

    我知道memcmp()不能用来比较的是一直没memset()为0,因为未初始化的填充结构比较结构中的温度。然而,在我的程序中,我有一个结构在开始时有几个不同类型,然后有几十个相同类型,直到结构结束。我的想法是手动比较前几种类型,然后在相同类型成员的其余连续内存块上使用memcmp()。 我的问题是,什么是关于结构填充C标准保证?我可以在任何或所有编译器上可靠地实现这一点吗? C标准是否允许在相同类

    -3热度

    2回答

    struct Flat { int a1; int a2; } // a hierarchical struct which containing a struct attribute struct NonFlat { Flat b1; int b2; } Flat f1, f2; memcmp (&f1, &f2, sizeof f1)

    5热度

    1回答

    在阅读:How can I check that elements of an array are all same without using counter?,@Skizz使用了漂亮的解决方案: memcmp (&string [0], &string [1], sizeof string [0] * (N - 1)) 所以,如果N正好是1,我们得到 memcmp (&string [0]

    0热度

    3回答

    我无符号字符数组: unsigned char buffer[BUFFER_SIZE]; 我想看着strncpy()后然而,在这个数组转换成字符串的前N个无符号的字符阅读,似乎只需要指向已签名字符的指针。我想看memcpy()?

    12热度

    1回答

    特别是,以下是明确定义的,还是表现出未定义的行为? memcmp(0, 0, 0); C和C++之间的这种不同吗?理想情况下,请提供标准报价。

    0热度

    2回答

    给定一个指针,我想比较前两个字节到固定值。 data是一个void指针。 是否有“更好”的方式莫过于: unsigned char foo[] = {0xFF, 0x3B}; memcmp(data, foo, 2); 也许在那里我没有创建一个新的字符数组? 谢谢!

    3热度

    1回答

    我觉得读记忆应该不会造成如 char *d=""; char *d2="test"; memcmp(d,d2,10); 什么问题都memcmp()曾经失败?

    0热度

    1回答

    上下文(尽管不是很重要),一个网络过滤模块中,我们使用结构,如: struct data { char mac[ETH_ALEN]; char in6_addr addr; }; 跟踪MAC地址和IPv6地址。 用于处理IPv6地址的变化: 我应该比较新老值(memcmp),如果不同,则更新(memcpy的)。 或者,我只是更新它。 两者都是有效的行为,所以表现是这里的主

    0热度

    1回答

    我有一个脚本的入站缓冲区数据,我需要key =>'value'以便我可以对它运行一个数学方程(是的,我知道我需要转换为int) 。由于我确定数据是字符串,我试图对它进行模式匹配。 我看到入站数据,但我从未得到正面匹配。 代码:从print_f输出 int getmyData() { char key[] = "total"; char buff[BUFSIZ];

    3热度

    3回答

    我想比较两行pixel s。 A pixel被定义为包含4个值(RGBA)的struct。 我不使用memcmp的原因是因为我需要返回第一个不同像素的位置,而不是memcmp。 我的第一个实现使用SSE内部函数,并且是〜比memcmp慢30%: inline int PixelMemCmp(const Pixel* a, const Pixel* b, int count) { for