我经常使用C语言的文件处理工具打开.txt
文件。但是当我尝试使用与文本文件相同的过程打开图像文件时,我就无法做到这一点。
我甚至尝试以二进制模式"rb"
打开图像文件。
这是我正在使用的代码:
#include "file.h"
#include "stdio.h"
main()
{
FILE *fp;
char ch;
fp = fopen("D:\\setups\\tcc\\Bluehills.bmp", "rb+");
if(fp == NULL)
{
printf("Error in opening the image");
fclose(fp);
exit(0);
}
printf("Successfully opened the image file");
while((ch = fgetc(fp)) != EOF)
{
printf("%c", ch);
}
printf("\nWriting to o/p completed");
}
我需要修改什么才能得到原样的图像?由于我将图像输出到DOS窗口,因此至少需要出现一个单色像素图像。
fgetc
的一些文档。该文档应该解释为什么将结果保存在char
变量中永远不正确。 - Roland Illig