問題タブ [memset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
1156 参照

c - Memcpyと連結する

2つの文字列を連結しようとしていますが、strcpyとstrcatを使用できないため、memcopyを使用してこれを実行しようとしています。ただし、3番目のステートメントでは、memcpyは最初のmemcpyの継続に追加されていません。これを行う方法はありますか?

0 投票する
5 に答える
564 参照

c - 一般的な方法で C の配列を安全に初期化する

memsetを使用してints、shorts、floats などの組み込み型の配列を初期化するコードをいくつか書きました。

このコードは、2 番目の引数 (つまり、初期化要素) としてmemset32 ビット s を受け入れるLinux32ではうまく機能しますが、 Linux64 ではそうではありません。私のプロジェクトで発生しているバグのいずれかがこれによるものであることをまだ確認していませんが、とにかく、より安全でありながら「一般的な」方法が存在する場合は、それを採用することをお勧めします。何でも知ってますか?intsizeof(slot_t)>sizeof(int)memsetchar

0 投票する
7 に答える
160 参照

c - Cを使用してファイルから情報を動的に保存する

私はCに不慣れで、いくつかのことを学ぼうとしています。私がやろうとしているのは、ファイルを読み込んで情報を保存することです。フォーマットはCSVとなるため、各文字を読み込み、数字かカンマかを判断し、リンクリストに格納する予定です。私が抱えている問題は、次の例のように1文字以上の数字を読み取ることです。

5,2,24,5

これが私がこれまでに得たコードであり、それは私が期待する出力を返さないだけです。これがコードで、出力はコードサンプルの下にあります。

そしてここに出力があります:

トークンの長さが1であると予想されるのに、なぜトークンの長さが「5」であり、5に続く奇妙な文字(「a#」で表される)であるのかわかりません。誰かが私がこれをもう少しよく理解するのを手伝ってもらえますか?

0 投票する
4 に答える
1227 参照

c++ - memset を使用した派生構造体のゼロ化

派生構造のすべてのメンバーをゼロに設定したいと考えています。

何百ものメンバーがあり、それ以上のメンバーが時々追加されるため、それらを明示的に初期化するとエラーが発生しやすいと感じます。

構造体には仮想関数がなく、すべてのメンバー フィールドが組み込みです。ただし、自明でないコンストラクターがあるため、それらは POD ではありません。

練習に対する標準的な眉をひそめることとは別に、次のことについて何か問題がありますか?

ありがとう。

0 投票する
9 に答える
12189 参照

c++ - memset() が int を誤って初期化するのはなぜですか?

Why is the output of the following program 84215045?

0 投票する
5 に答える
1289 参照

c++ - この POD 構造体を基本クラスとして使用するのはなぜ危険なのですか?

私は同僚とこの会話をしましたが、それは興味深いものでした。次のPODクラスがあるとします

clear0(バイト単位)に設定して、すべてのメンバーをクリアすることを目的としています。A基本クラスとして使用すると、何が問題になる可能性がありますか? ここにバグの微妙なソースがあります。

0 投票する
6 に答える
60227 参照

c - "memset(arr, -1, sizeof(arr)/sizeof(int))" が整数配列を -1 にクリアしないのはなぜですか?

memset整数の配列で使用することはできませんか? 次の呼び出しを試みましたが、配列memsetで正しい整数値を取得できませんでした。int

私が得た値は次のとおりです。

0 投票する
3 に答える
815 参照

c - 追加の memset() により、システム コール open() が失敗する

/devここのチュートリアル(chardev.c)に従ってノードを/dev/chardev作成しました。次のコードを使用して作成したデバイスにアクセスしようとしました:

成功した結果:

ただし、memset(receive_buff, 0, sizeof(receive_buff));コメントを外すと、次のようになります。

質問: 追加memset()によって がopen()失敗する原因は何ですか?

0 投票する
7 に答える
33676 参照

c - memset()はCのforループよりも効率的ですか?

ループmemset() よりも効率的です。for

このコードを検討する:

そしてこれ:

どちらがより効率的で、なぜですか?ブロックレベルの初期化を行うための特別な命令がハードウェアにありますか。

0 投票する
1 に答える
173 参照

iphone - iphone memsetの問題

ヘッダー ファイルで構造体を定義しました。

私の.mファイルで:

しかし、それは身に着けています: ここに画像の説明を入力