2011-07-13 20 views
0

私はここで紛失しています。 短い間に自分のコードを投稿してしまいます...ちょっと長い間、 "厄介な"コードを与える部分を抽出できません。ここで私の問題をexpalin:私は文字列(ファイルまたはディレクトリへのパス)を構造体の配列に格納する{ char *path; size_t path_len}ここで、pathは文字列、path_enはその長さです。 path_len挿入に文字列の長さは、配列内の78又はスト​​リングのも簡単strlenとなるstrncpyと配列から抽出に76で少ない77点の作品次いでうまく元の文字列の長さと77文字列の長さの問題76

他のすべての場合を言います。

私は困惑しています。

+2

あなたのコードを投稿してください。 –

+1

あなたは余分な\ nか\ r文字を数えていませんか? –

+1

私はそれがその文字列のためにメモリを割り当てていると思います。文字列にメモリを割り当てるコードを忘れないでください。 – sharptooth

答えて

6

strncpyを使用すると、結果のコピーされた文字列を無効にすることを忘れないでください。

彼らはNよりも長い場合はstrncpyは(Nあなたはstrncpyをするために渡す第3引数である)の文字列をnullで終了しません