VC中寬字串換行(WCHAR字串換行)
阿新 • • 發佈:2018-12-31
問題:
VC6中使用\來連線較長的字串的時候就會在連線處出現一個亂碼,最終導致異常,例如:
_stprintf(lpszBuffer, _T("select si_id, si_ip, si_port, si_name from serverinfo where si_count in (select min(si_count) from serverinfo where si_status = %d)"),enumAvailable);
寫在一行沒有任何問題,如果是
_stprintf(lpszBuffer, _T("select si_id, si_ip, si_port, si_name from serverinfo where\
si_count in (select min(si_count) from serverinfo where si_status = %d)"),
enumAvailable);
的話除錯時候就會在where後面出現一個三個小豎線的亂碼,引發異常
解決方案:
分行寫 不要加逗號
_stprintf(lpszBuffer,
_T("select si_id,")
_T("si_ip, si_port,")
_T("si_name from serverinfo where")
……
_T("xxxxx"), //最後加一個逗號
enumAvailable);
例項:
PWCHAR szFormat = L"Accept: */*\r\n" L"Referer: %ws\r\n" L"Accept-Language: zh-cn\r\n" L"Accept-Encoding: gzip, deflate\r\n" L"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)\r\n" L"Host: %ws\r\n" L"Connection: Keep-Alive\r\n";