問題タブ [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.
c - C - for ループ内から文字列を保存できません
tmp の内容を tmp2 に保存する必要があります。ただし、while ループの外では、tmp は常に NULL です。
c - strncpy() セグメンテーション違反 (再び)
データ ファイルを取得し、1 行あたりの文字数が一定量になるように書式設定する単語書式設定プログラムを作成しようとしています。ファイルの各行の単語をループしようとすると、セグメンテーション違反エラーが発生します。
ここでエラーが発生します:
なぜこれが起こっているのかわかりません。コピーする文字数を正確に伝えることがstrncpyのポイントではありませんか?文字列の長さの 1 つ下まで文字をコピーするように具体的に指示した場合、なぜセグメンテーション違反が発生するのでしょうか? 編集:コードを次のように修正しました。
これは操作に変更を与えません。これは依然としてセグメンテーション違反です。トークンが有効であることを確認し、有効な場合は同じトークンにアクセスするにはどうすればよいですか?
解決済み
機能するソリューションを開発しました:
c - glibc では strncpy の実装が複雑すぎる
string.h関数を理解しようとしています。これが私自身の strncpy() の実装です
しかし、ここで glibc の実装を見ていると、なぜ大きすぎて複雑なのか疑問に思います。
「 time」コマンドを使用して実行時間をテストしました。どちらの機能もほぼ同じように動作します。
誰かが glibc strncpy()と my_strncpy() に欠けているものに関する知識を共有できますか?
c - Strncpy キャラクター追加
「_out」を追加して拡張子を変更して、引数で渡すファイルの名前を変更する必要があります。というわけで、まず、古いファイルの名前を拡張子なしでコピーします。
しかし、 "//Marker" の直後に printf でvar1Outを表示すると、"test.txt" を引数として渡して、: "test└" を取得し、最後に "test└_out.xml" を返します。マーカーラインを次のように変更すると、次のようになります。
次のように表示されます。
テスト。
そして:
次のように表示されます。
テス
だからそれは完璧に動作します。
使用すると文字が追加されるのはなぜですか:
?
c - strncpy、fgets の奇妙な動作
私は基本的に、文字列がlで始まる場合に残りの文字列を格納するものを読み取るためのコードを書いています。これまでの私のコードは次のとおりです。
ljudyjudyjudyjudy を入力すると、printf で得られるファイル名は judyjudyjudyjudyH です
異なる入力で動作することもありますが、余分な文字が表示されることがありますか?
c - 割り当てられたメモリを使用して整数を整数にコピーする
以下のコードに問題があります。
基本的に私がやりたいことは、整数からメモリを割り当てた他の整数に値をコピーすることです。これは整数間の strncpy で機能しますか、それとも別の関数が必要ですか?
c - strncpy とコードの効率
私はゆっくりとコーディングを学び、進歩しているので、誰かが私のためにこの機能を簡単に見て、私が正しい軌道に乗っているように見えるかどうか、どうすればもっとうまくできるか、どこでできるか教えてくれることを望んでいました.失敗する準備をしている。私は C の世界に慣れていないので、気楽に話してください。ただし率直かつ正直に言ってください。
現時点では、動作しています...出力:
で呼び出されます:
文字列をより適切に操作する方法について、またはこれを行った方法に予期しない問題があるかどうかについての意見を探しています。Cでデータ構造を扱うのは初めてです。
list - while ループでリンク リストを作成する際の問題。ループの 2 回目の実行でランタイム エラーが発生する
リンクされたリストのノードにテキストの各行を配置するプログラムを書いています。テキストの各行に新しいノードを作成したいと考えています。while ループでの 2 回目の実行中にプログラムがクラッシュします。いくつかのテストの後、strncpy-function に関係していると思いますが、よくわかりません。ここでどこが間違っていますか?
c - Char配列の比較とwhileループがCで正しく機能しない
私は CheckEmployee という名前のこの関数を持っています。テキスト ファイルを開き、ユーザーが入力した ID がレコードに存在するかどうかを確認します。
texfile には次のものが含まれます。
空白を含めて各行 40 文字。問題は:
- 4 回ループします(
while
たどるレコードが 2 つしかないため、2 回だけにする必要があります)。 - プログラムの で実行時エラーが発生しました
if (id == empID)
。しかし、それを に置き換えるとif (strcmp(id, empID) == 0)
、答えは false になります。
更新:strcmp
現在機能しています。@barak manos に感謝します。4 回のwhile
ループはまだ続きますが、必要な結果が得られます。