[解決済み] char 配列を空にするには?
2022-02-08 14:14:41
質問
char members[255]のような文字列の配列を持っています。ループを使わずに完全に空にするにはどうしたらよいでしょうか?
char members[255];
空っぽというのは、もし何らかの値が格納されていたなら、その値は格納されていないはずだという意味です。例えば、私がstrcatを行う場合、古い値は残っていないはずです。
members = "old value";
//empty it efficiently
strcat(members,"new"); // should return only new and not "old value new"
解決方法は?
使用方法
memset(members, 0, 255);
総じて
memset(members, 0, sizeof members);
は、配列がスコープ内にある場合、または
memset(members, 0, nMembers * (sizeof members[0]) );
はポインタの値だけで、nMembers は配列の要素数である場合。
EDIT もちろん、今は配列をクリアする汎用的なタスクから、純粋に文字列をリセットするタスクに要件が変わっています。
memset
はやりすぎで、最初の要素をゼロにするだけで十分です(他の回答で指摘されています)。
EDIT メムセット を使用する必要があります。 include string.h .
関連
-
[解決済み】valgrind - サイズ8のブロックが割り当てられた後、アドレス ---- が0バイトになる。
-
[解決済み】警告:互換性のないポインタ型からの代入
-
[解決済み】C言語で浮動小数点例外(コアダンプ)発生
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] JavaScriptで配列を空にするにはどうしたらいいですか?
-
[解決済み】配列に何かを追加する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C言語で「関数の型が競合しています」と表示される、なぜ?
-
[解決済み】C言語におけるファイルスコープでの可変長配列の変更
-
[解決済み】「無効なイニシャライザー」と表示されるのですが、何が間違っているのでしょうか?
-
[解決済み] clang: error: linker command failed with exit code 1が表示されるのはなぜですか?
-
[解決済み] struct で "warning: useless storage class specifier in empty declaration" (警告: 空の宣言での無駄なストレージクラス指定子)
-
[解決済み】警告:組み込み関数'printf'の非互換な暗黙の宣言(デフォルトで有効]
-
[解決済み】C言語で入力が整数型かどうかチェックする
-
[解決済み】malloc():メモリ破壊
-
[解決済み】宣言指定子で2つ以上のデータ型がある場合のエラー【非公開
-
[解決済み】シンプルなC言語のscanfが機能しない?重複