2011-11-11 57 views
0

我試圖把圖像保存爲一個字符串(PNG),然後我要嘗試並使用SDI查看它爲什麼計算機發出嘟嘟聲然後崩潰時,當我嘗試輸出字符串請原諒我是一個新手)電腦發出嘟嘟聲,然後從此C++代碼崩潰

#include "http.h" 
#include<iostream> 
#pragma comment (lib,"winhttp.lib") 

using namespace std; 
http_connect c; 

int main() 
{ 
    c.open_session(L"maps.googleapis.com"); 
    c.request(L"/maps/api/staticmap?center=-15.800513,-47.91378&zoom=11&size=200x200&sensor=false"); 
    c.read_data(); 
    std::cout<<c.data(); 
    c.end_connection(); 
    system("pause"); 
}; 

,如果你想的完整代碼(包括http類)go here

+3

我真的不想要任何人的完整代碼,但我寧願要*你*使用你的調試器,並縮小問題,所以你可以問一個更集中的問題! –

+1

無論你從c.data()得到什麼都有二進制數據(你說你正在閱讀一個.png文件)。輸出到'cout'會引起嗶嗶聲(特別是'\ x7'字節。至於崩潰,我認爲它不應該*崩潰*,但是由於長序列的緣故,編寫輸出需要很長的時間 – Pablo

+0

main()之後的分號?? – juliomalegria

回答

1

我的猜測是,你要打印的二進制數據(PNG)作爲一個字符串。這會引起你所描述的大量嗶嗶聲。

1

由於這是一個Windows應用程序,因此您應該在VS(或其他)調試器中運行該代碼,並逐步遍歷main中的每一行。您需要查看的線路就是您會發出嗶嗶聲的線路。

這很可能是cout行,因爲將二進制數據打印到標準輸出可能會涉及到相當多的CTRL-G字符(BEL字符)。如果是這樣,請在嘗試打印數據之前重新運行並檢查c的內容。

這將解決您的直接問題教你如何自行調試代碼。