問題タブ [null-terminated]
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# - 現在も「public String(char* value)」を使用していますか?
私は(文字列「クラス」(.NET)の内部(定義))に出くわしました:
解説に書かれていること:
私の質問:
安全でないコンテキストでのみ使用できますか、現在でもその String(char* value) を使用することは理にかなっていますか、またはこれは過去からの遺物であり、この "ABC\0"(その文字列の終了) に基づいていますか?
私がそれを使用できる/使用する必要がある場合、この方法の状況はどのようになりますか?
c - ポインタと整数の警告比較
文字ポインタを反復処理し、ポインタがヌル ターミネータに到達するタイミングを確認すると、警告が表示されます。
私が得ているエラーは次のとおりです。
*
逆参照メッセージの前にあると思ったmessage
ので、メッセージが指す場所の値を取得しますか? strcmp
ちなみにライブラリ機能は使いたくないです。
c# - 文字列はC#でどのように終了しますか?
このプログラムは をスローしArrayIndexOutOfBoundException
ます。
なぜそうなのですか?文字列が null で終了していない場合。文字列はC#でどのように処理されますか? string.Length
プロパティを使用せずに長さを取得するにはどうすればよいですか? 私はここで混乱しています。
c - c-string の途中に NULL を割り当てる
入力として削除する c-string と文字を受け取り、インスタンスをeliminate(char *str, int character)
スキャンして現在のインデックスの値を置き換える関数を作成しています...何ですか? と思いましたが、これはリスクが高く、c 文字列の null ターミネータに依存する他の関数を台無しにする可能性があります。例えば:str
character
NULL
私の質問は、文字列内の指定された文字のすべてのインスタンスを効果的に削除するように、この関数を適切に実装するにはどうすればよいですか? そして、適切な削除'\0'
が置換される文字に割り当てられている場合、これが文字列全体にどのように影響しないのですか (つまり、最初'\0'
に遭遇した文字で効果的に終了します)。たとえば、同じ文字列に対して上記の関数を 2 回実行すると、2 回目の呼び出しでは、最後の文字が置換された場所までの文字列のみが検査されます。
assembly - Intel x86アセンブリを使用したUnixでの手動ヌル終了(メモリオペランドのアドレスと値)?
ここで明らかな何かが欠けている必要がありますが、文字列の終わりを見つけることができないようです.
私のコードは、次のようないくつかの呼び出しから始まります。
教授は私たちに作業用のシェル プログラムをくれましたが、私はそのほとんどをうまく処理できました。私をうんざりさせているのは、使用している文字列の長さが rlen に含まれるようになったという印象でしたが、次のように入力すると:
セグメンテーション違反が発生します。[buf + rlen] を使用した場合も同様です。buf も ESI も単独では segfault を引き起こさないので、rlen は私が思っていることをしていないように思えます。
何が起こっているのかを理解するのを手伝ってくれる人はいますか?
c - 文字列を印刷すると、(私が思うに) null で終了している場合でもゴミが生成されます
を実行するprint_puzzle(create_puzzle(input))
と、出力の一番下に大量の gobbledegook が表示されますが、最後の行にのみ表示されます。なぜこれが起こり続けるのか、私にはわかりません。出力は、9 行の 9 つの数字であると想定されています (入力は、空のスペースを表すゼロを使用した数独パズルです)。
この一連のコードは、その入力を受け取り、文字列の 2 次元配列を作成し、print_puzzle を使用してそれらの文字列をグリッドに出力する必要があります。これらは文字列です。最終的には、正方形が取り得るすべての値を表示する方法を実装する予定だからです。しかし、今のところ、印刷すると、物事が台無しになります。81個の文字列すべてのすべての要素にnull値を入れてみましたが、文字列を印刷しようとすると、まだ台無しになります。道に迷いました!
c++ - C++ の stdin でヌル文字を処理する
ネイティブ ホスト メッセージングを使用する Chrome の拡張機能を作成しています。目標は、アプリ モードで実行しているときに Chrome が OS の既定のブラウザーでリンクを開くようにすることです。Chrome は、パイプを介してネイティブ アプリケーションの stdin および stdout へのネイティブ ホスト メッセージングを実装します。これで問題なく、拡張機能がネイティブ アプリケーションと通信できるようになりました。私が抱えている問題は、データの最初の 4 バイトに次の文字列の長さが含まれていることです。これには、私の目的では常に null 文字が含まれます。以下に strace の例を示します。これに対処する最善の方法は何ですか?可能であれば、入力が受信されるまでプログラムを停止する cin や getline などを使用したいと思います。
これは現在の C++ コードです。cin.get と fgets を使用してバリエーションを試しましたが、それらは入力を待機せず、ループが暴走した後に Chrome がプログラムを強制終了します。
swift - SwiftでCからバッファリングされた文字列を処理するには?
libxml2 の sax パーサーを使用して、大きな xml ファイルを読み取っています。ほとんどのコールバック ハンドラには、NULL で終了する char ポインタが提供されます。これらを使用String.fromCString
すると、Swift で通常の文字列に変換できます。ただし、sax はバイトの読み取りにバッファーを使用するため、コールバックの 1 つ ( characters
) が文字列の一部、つまりバッファーのサイズで呼び出される場合があります。この部分的な文字列は、Unicode コード ポイントの途中で開始/終了することさえあります。完全な文字列が (チャンクで) 提供されるまで、コールバックは複数回呼び出されます。
完全な文字列が組み立てられるまですべてのチャンクを連結するか、部分的な文字列のコードポイント境界を何らかの方法で検出し、無効なコードポイントまで完全に処理することを考えています。
そのような状況を処理する最善の方法は何でしょうか? 処理は、正確でありながら、可能な限り高速にする必要があります。メモリ使用量は最小限に抑える必要がありますが、パフォーマンスを犠牲にしてはいけません。