微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我不能在 C++ 中用缓冲区编写 .ppm 文件

如何解决为什么我不能在 C++ 中用缓冲区编写 .ppm 文件

这是代码,但出现错误,黑色图像..

FILE* fp = fopen(filename,"wb");
    //fprintf(fp,"P3\n4 4 \n255\n 168  50  50 168  50  51  168  50  51 15  0 15 0  0  0 0 15  7  255 255 255    0  0  0 0  0  0    0  0  0    0 15  7    0  0  0 15  0 15    0  0  0    0  0  0    0  0  0");
    fprintf(fp,"P3\n4 4 \n255 \n");

    unsigned char* newBuffer = (unsigned char*)malloc(4*4*3);

    int br = 0;
    for (int i = 0; i < 4 * 4; i++) {
        newBuffer[br++] = 168;
        newBuffer[br++] = 50;
        newBuffer[br++] = 50;

    }

    fwrite(newBuffer,sizeof(unsigned char),(size_t)(4*4*3),fp);
    fclose(fp);

当我使用注释行而不是 newBuffer 时,它工作得很好,我不知道在一个字符串中写入字节和用 newBuffer 写入字节时有什么区别.. 任何帮助,提前致谢..

>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。