共用方式為


C6054

更新:2007 年 11 月

警告 C6054: 字串 <variable> 可能不是以零結尾

這個警告表示將非零結尾的字串傳遞給需要以零結尾之字串的函式。需要以零結尾之字串的函式會搜尋到緩衝區的結尾,以尋找零。這項缺失可能會造成可利用的緩衝區滿溢錯誤或損毀。程式應該確定字串是以零結尾。

範例

下列程式碼將產生出這個警告:

#include<codeanalysis\sourceannotations.h>
using namespace vc_attributes;

void f ([Pre(NullTerminated=Yes)] wchar_t* v);

void g ( )
{
   wchar_t v[200];
   f(v); // C6054 - v is not "null-terminated" before the call to f
}

若要更正這個警告,請在呼叫函式 f 之前,以 null 結束 v,如下列範例程式碼所示:

void g( )
{
  wchar_t v[200]; 
  v[0]= '\0';
  f(v);
}

請參閱

概念

附註概觀

參考

C6053

NullTerminated