新城@筑波大学情報です。こんにちは。

In article <m3smif4a2f.fsf@kzin.dip.jp>
        Mito <co_mon@ybb.ne.jp> writes:
> > 何か「こういう時には strcpy() がいい」という状況はありますか?
> コピー先のサイズが分らない場合は strcpy() がいいです。:-P

なるほど。それはそうですね。(←念のために書いておきますが、
コピー先のサイズが分からないという状況は、非常に危険な状況な
ので、そういうことがないようにプログラムを作るべきだという意
味です。)

> そういや strncpy は構造体のメンバにセットする時便利だっての
> を思い出しました。
>   struct {
>     char s[128];
>   } s1, s2;
>   strncpy(s1.s, "abc", sizeof(s1.s));
>   strncpy(s2.s, "abc", sizeof(s2.s));
>   if (memcmp(&s1, &s2, sizeof(s1)) == 0) {
>     puts("便利!");
>   }

たしかに。これは、使えます。メモリ中のデータ構造というよりは、
ディスクに書込むようなデータ構造の時には、0で埋めたくなりま
す。たとえば、昔の14文字いないのディレクトリとか、utmp と
か wtmp とか。

構造体の memcmp() は、やらないけど。オブジェクト指向的に構造
体ごとに equal() 関数を定義します。

\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報       \\