1
當我嘗試使用Cimg
庫讀取jpg文件時,出現堆棧溢出錯誤,而其他格式的bmp正在工作文件。使用Cimg庫讀取jpeg圖像時發生堆棧溢出錯誤
我該如何解決它?
#include"CImg.h"
#include<stdio.h>
using namespace cimg_library;
int main()
{
CImg<unsigned char> src("d:\\sidimg.jpg");
int width = src.width();
int height = src.height();
unsigned char* ptr = src.data(0,0);
int count=0;
while(count!= width*height)
{
printf("%d",*ptr);
ptr++;
count++;
}
}
看起來應該是,而計數<寬度*高度,因爲圖像不是0索引我不認爲(從像素1開始) – Magn3s1um
while循環沒有問題,我測試這個程序與bmp文件工作正常。問題與JPG圖像 – siddstuff
當你重寫你的緩衝區(或堆棧)時發生堆棧溢出。也許你應該嘗試刷新標準輸出,因爲可能printf正在建立並導致溢出。除此之外,它看起來很好,並且不會是一個問題,因爲stdout應該在其滿時自動刷新自身。 – Magn3s1um