1. 程式人生 > >VC中寬字串換行(WCHAR字串換行)

VC中寬字串換行(WCHAR字串換行)

問題:

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";