問題タブ [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.
c - Memcpyと連結する
2つの文字列を連結しようとしていますが、strcpyとstrcatを使用できないため、memcopyを使用してこれを実行しようとしています。ただし、3番目のステートメントでは、memcpyは最初のmemcpyの継続に追加されていません。これを行う方法はありますか?
c - 一般的な方法で C の配列を安全に初期化する
memsetを使用してints、shorts、floats などの組み込み型の配列を初期化するコードをいくつか書きました。
このコードは、2 番目の引数 (つまり、初期化要素) としてmemset
32 ビット s を受け入れるLinux32ではうまく機能しますが、 Linux64 ではそうではありません。私のプロジェクトで発生しているバグのいずれかがこれによるものであることをまだ確認していませんが、とにかく、より安全でありながら「一般的な」方法が存在する場合は、それを採用することをお勧めします。何でも知ってますか?int
sizeof(slot_t)>sizeof(int)
memset
char
c - Cを使用してファイルから情報を動的に保存する
私はCに不慣れで、いくつかのことを学ぼうとしています。私がやろうとしているのは、ファイルを読み込んで情報を保存することです。フォーマットはCSVとなるため、各文字を読み込み、数字かカンマかを判断し、リンクリストに格納する予定です。私が抱えている問題は、次の例のように1文字以上の数字を読み取ることです。
5,2,24,5
これが私がこれまでに得たコードであり、それは私が期待する出力を返さないだけです。これがコードで、出力はコードサンプルの下にあります。
そしてここに出力があります:
トークンの長さが1であると予想されるのに、なぜトークンの長さが「5」であり、5に続く奇妙な文字(「a#」で表される)であるのかわかりません。誰かが私がこれをもう少しよく理解するのを手伝ってもらえますか?
c++ - memset を使用した派生構造体のゼロ化
派生構造のすべてのメンバーをゼロに設定したいと考えています。
何百ものメンバーがあり、それ以上のメンバーが時々追加されるため、それらを明示的に初期化するとエラーが発生しやすいと感じます。
構造体には仮想関数がなく、すべてのメンバー フィールドが組み込みです。ただし、自明でないコンストラクターがあるため、それらは POD ではありません。
練習に対する標準的な眉をひそめることとは別に、次のことについて何か問題がありますか?
ありがとう。
c++ - memset() が int を誤って初期化するのはなぜですか?
Why is the output of the following program 84215045
?
c++ - この POD 構造体を基本クラスとして使用するのはなぜ危険なのですか?
私は同僚とこの会話をしましたが、それは興味深いものでした。次のPODクラスがあるとします
clear
0
(バイト単位)に設定して、すべてのメンバーをクリアすることを目的としています。A
基本クラスとして使用すると、何が問題になる可能性がありますか? ここにバグの微妙なソースがあります。
c - "memset(arr, -1, sizeof(arr)/sizeof(int))" が整数配列を -1 にクリアしないのはなぜですか?
memset
整数の配列で使用することはできませんか? 次の呼び出しを試みましたが、配列memset
で正しい整数値を取得できませんでした。int
私が得た値は次のとおりです。
c - 追加の memset() により、システム コール open() が失敗する
/dev
ここのチュートリアル(chardev.c)に従ってノードを/dev/chardev
作成しました。次のコードを使用して作成したデバイスにアクセスしようとしました:
成功した結果:
ただし、memset(receive_buff, 0, sizeof(receive_buff));
コメントを外すと、次のようになります。
質問: 追加memset()
によって がopen()
失敗する原因は何ですか?
c - memset()はCのforループよりも効率的ですか?
ループmemset()
よりも効率的です。for
このコードを検討する:
そしてこれ:
どちらがより効率的で、なぜですか?ブロックレベルの初期化を行うための特別な命令がハードウェアにありますか。
iphone - iphone memsetの問題
ヘッダー ファイルで構造体を定義しました。
私の.mファイルで:
しかし、それは身に着けています: