適切な方法でC文字列を空にする

私はC言語のプロジェクトに取り組んできました。通常、私はC
++でプログラムを作成するので、これは単にstring.empty()とは少し異なります。

私はCで文字列を空にする正しい方法は何だろうと思っています。これはそれでしょうか?

buffer[80] = "Hello World!n";

// ...

strcpy(buffer, "");
ベストアンサー

それはあなたが “空”という意味に依存します。長さゼロの文字列だけが必要な場合、あなたの例はうまくいくでしょう。

これはまた動作します:

buffer[0] = '';

文字列の内容全体をゼロにするには、次のようにします。

memset(buffer,0,strlen(buffer));

これは、最初のNULL文字までゼロにするためにのみ機能します。

文字列が静的配列の場合は、次のように使用できます。

memset(buffer,0,sizeof(buffer));

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です