問題タブ [strncpy]

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 投票する
3 に答える
2853 参照

c - Malloc と strncpy

文字列を 2 つに分割して 2 人の子に渡そうとしています。最初の部分は 12 文字の「0」で、2 番目の部分は 13 文字の「1」でなければなりません。このコードを実行すると、これらのいずれも得られません。具体的には、これが出力です。親の左: 00000000000 親の右: 0000000000001 理由がわかりません。

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

c - 親フォルダーのパスを検索

私は次のようなcで文字列を解析しようとしています:

関数を実行すると、その関数はこれを返す必要があります。

私は多くのことを試しました...

オペレーティング システム ライブラリを使用できません。私はそのようにしなければなりません。

私はこのような関数を呼び出してみました:

しかし、セグフォルトが発生します...

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

c - c の fread() と strncpy() のヌル文字

私は一般的に新しいプログラマーで、c で作業を開始しました。IDEv3 mp3 タグをデコードしようとしていますが、さまざまな問題に遭遇しました。fread() および strncpy() コマンドを使用しているときに、どちらも終了参照点として \n 文字が必要であることに気付きました。(たぶん私は間違っているかもしれませんが、これは単なる観察です)

出力を印刷すると、判読できない文字が生成されます。この問題を解決するための解決策として、(8)\n 文字 (バイト全体) を生成するために 3 バイトではなく 4 バイトに fread() を使用しています。印刷に使用しているメモリ。理論的には、fread() を使用している場合、この問題は発生しないはずです。

コードのサンプル:

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

c - 他のファイルと同じ名前のファイルに名前を付ける

私は C 入門書プラス第 5 版を読んでいて、I/O の章にいます。いくつかのことを行う例 (451 ページ) を思いつき、ある時点で、既存のファイルにちなんで名付けられた新しいファイルを作成しますが、末尾は .red です。たとえば、このファイル「test」がある場合、プログラムは「test.red」を作成します。以下が理解できません..

コマンド strcpy の定義を調べました。arv[1] (ソース ファイルを含む) から最初の LEN-5 文字を名前にコピーします。strcat コマンドは .red を末尾に追加します。しかし、これの存在が理解できませんname[LEN - 5] = '\0';。私はそれを削除しましたが、プログラムはまだうまく機能しています。
EDIT
これらの行の本からのコメントを投稿します..

出力ファイルの新しい名前を作成するために、プログラムは strncpy() を使用して名前 eddy を配列 name にコピーします。LEN - 5 引数は、.red サフィックスと最後のヌル文字のための余地を残します。argv[2] 文字列が LEN – 5 よりも長い場合、ヌル文字はコピーされないため、プログラムは念のためヌル文字を追加します。strncpy() 呼び出しの後の名前の最初のヌル文字は、strcat() 関数がその文字列を追加するときに .red のピリオドで上書きされ、この場合は eddy.red が生成されます。