0

我试图读取 3D 分析图像的体素信息。示例代码:

#include <stdio.h>

void main() {
    unsigned int R,G,B;
    unsigned char data[3];
    FILE *fp, *ft;
    fp = fopen("67.img", "rb");
    ft = fopen("OUT.txt", "w");
    while (fread(data, 3, 1, fp) == 1) {
        R = data[0];
        G = data[1];
        B = data[2];
        fprintf(ft, "%u,%u,%u:", R, G, B);        
    }
}

但在“Out.txt”中,我没有得到预期的 RGB 值。

标头信息头信息:

我是C的新手。请帮助我。

4

1 回答 1

0

fread 是 size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );

你的尺寸应该是 1,你的数量应该是 3。你把它们颠倒了。我会尝试切换它们以及while循环,看看是否有效。

于 2013-09-15T09:29:13.730 回答