Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 写错答案_C++_C_Fwrite_Short - Fatal编程技术网

C++ 写错答案

C++ 写错答案,c++,c,fwrite,short,C++,C,Fwrite,Short,在我的项目中,我编写了一个.bin文件,其中传感器数据采用无符号短格式(16位LE值)。但我得到了错误的值。你们能告诉我这里出了什么问题吗 #include<stdio.h> int main() { FILE *fp = fopen("a.bin","ab"); unsigned short us; us=123; fwrite(&us,2,1,fp); printf("%04X",us); // 0x:007B us=123

在我的项目中,我编写了一个.bin文件,其中传感器数据采用无符号短格式(16位LE值)。但我得到了错误的值。你们能告诉我这里出了什么问题吗

#include<stdio.h>
int main()
{
    FILE *fp = fopen("a.bin","ab");
    unsigned short us;
    us=123;
    fwrite(&us,2,1,fp);
    printf("%04X",us); // 0x:007B
    us=1234;
    fwrite(&us,2,1,fp);
    printf("%04X",us); // 0x04D2
    us=-3145;
    fwrite(&us,2,1,fp);
    printf("%04X",us); // 0xF3B7
    fclose(fp);
}
但是我想要

a.bin
7b 00 04 d2 f3 b7

修复错误后,代码对我来说运行良好

请注意,在模式
“a”
下打开文件意味着“追加”。我将其更改为
“w”
,这将覆盖现有文件:

fwrite.c

#include<stdio.h>
int main(void)
{
    FILE *fp = fopen("a.bin","wb");
    unsigned short us;

    us = 123;
    fwrite(&us, sizeof(us), 1, fp);
    printf("%04hX\n",us); // 007B

    us = 1234;
    fwrite(&us, sizeof(us), 1, fp);
    printf("%04hX\n",us); // 04D2

    us = -3145;
    fwrite(&us, sizeof(us), 1, fp);
    printf("%04hX\n",us); // F3B7

    fclose(fp);        

    return 0;
}

你所说的“错误值”是什么意思?有什么问题吗?我想要a.bin 7b 00 D2 04 B7 F3,但不正确。你说的“不正确”是什么意思?有什么问题吗?显示您的实际代码。这将无法编译(
a.bin
缺少引号)。我怀疑你所做的任何“更改”都是问题所在。
void main
是错误的。我发现记事本++显示不同的十六进制输出。。谢谢你的回答~!
#include<stdio.h>
int main(void)
{
    FILE *fp = fopen("a.bin","wb");
    unsigned short us;

    us = 123;
    fwrite(&us, sizeof(us), 1, fp);
    printf("%04hX\n",us); // 007B

    us = 1234;
    fwrite(&us, sizeof(us), 1, fp);
    printf("%04hX\n",us); // 04D2

    us = -3145;
    fwrite(&us, sizeof(us), 1, fp);
    printf("%04hX\n",us); // F3B7

    fclose(fp);        

    return 0;
}