次の方法で共有


コンパイラの警告 (レベル 4) C4295

'array' : 配列が小さすぎるため、終端の nulll 文字を含めることができません

配列は初期化されましたが、配列の最後の文字が null ではありません。配列に文字列としてアクセスすると、予期しない結果になる可能性があります。

次の例では C4295 が生成されます。 この問題は次の方法で解決できます。初期化子文字列の終端の null を保持するために、配列のサイズをより大きく宣言します。または、配列初期化子リストを使用して、これが null 終端文字列ではなく char の配列であるという意図を明確にします。

// C4295.c
// compile with: /W4

int main() {
   char a[3] = "abc";           // C4295
   char b[3] = {'d', 'e', 'f'}; // No warning
   a[0] = b[2];
}