先貼一部分**
需要提交資料的頁面
cstring strformdata = "
username=abc&password=123
"; //
需要提交的資料
請求頭try
catch(cexception*e)
cstring strsentence, strgetsentence = ""
;
if(fileget)
afxmessagebox(strgetsentence);
//顯示返回網頁內容
}
else
fileget->close();
delete fileget;
}else
afxmessagebox(
"不能找到網頁檔案!");
sess.close();
因為需要使用post方式抓取某個網頁返回的內容,所以找了mfc中功能不是那麼強大的chttpfile來做,也夠用了。
一般網路程式設計的demo都是ansi字符集的,也都沒什麼問題,上面的**改改也能用,拿到unicode的工程裡,將加上_t標示符以及進行些字符集轉換,很快就能執行了,但問題來了,就是傳送的request總不能使伺服器正確接受,而返回一些錯誤,這一除錯不要緊,2個小時就過去了。
最後在改php程式和mfc程式的情況下,把問題鎖定在了帶下劃線的**處,在ansi時傳送的是char字元,是沒有問題的,而在unicode情況下,發過去就是wchar字元,而編譯又不會報錯,即使在unicode版本中,這個函式也是希望接受char字元的。
哎,庫函式寫成這樣,真是夠奇芭的。
如果收到的資料是亂碼,先確定是什麼格式的碼,一般為utf_8,可以使用multibytetowidechar轉換:
取得str物件的原始字串
int nbuffersize = multibytetowidechar(cp_utf8, 0, pstr, -1, null, 0); //
取得所需快取的多少
wchar_t *pbuffer = (wchar_t*)malloc(nbuffersize * sizeof(wchar_t));//
申請快取空間
multibytetowidechar(cp_utf8, 0, pstr, -1 , pbuffer, nbuffersize*sizeof(wchar_t));//
轉碼messageboxw(null, pbuffer, l"
text
", mb_ok); //
顯示free(pbuffer); //
釋放快取
乙個hibernate mapping的錯誤
在使用hibernate對映的時候 如果配置 onetomany cascade cascadetype.persist,fetch fetchtype.eager joincolumn name orderid referencedcolumnname order id private setbu...
Vuex的乙個易錯點
好長時間不用vuex,發現有些東西記模糊了。在對vuex進行模組化開發的時候,const store new vuex.store 我們可以通過store.state.a取得 modulea 的狀態,在store注入到vue例項的時候,子元件可以通過this.store.state.a取得。但要注意...
執行mr時候報的乙個錯
hadoop版本 hadoop 2.2.0 cdh5.0.0 beta 1 今天在執行sqoop往hbase裡導數的時候,dn節點報了下面的錯 看異常是相應的jar沒找到 為了執行mr,在yarn site.xml中有這樣乙個的配置 hadoop conf dir,hadoop common hom...