[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[WitchTech 00737] Re: 文字列編集の例



エル%高岡@鯆です。

2001/02/15 05:48 頃に
  「[WitchTech 00735] 文字列編集の例」ということで

Kenichiro Ueda さん
> 気が向いたのでちょっとした例を考えてみました。実用を
> 前提としていない点にご注意ください。

私には 文字列編集 という目的よりも パスの連結 という別の意図が強
く見えてしまって、文字列の連結 の議論の対象にする際にその意図が
頭に残ってしまうため、正常な判断を阻害する悪例に見えてしまいます。
# 悪い方向に考えすぎですかね。

> get_sub1とget_sub2でどちらが読みやすいかは意見が分かれる
> ところなのでしょう(笑)私ならget_sub2を選びます。しかし
> この例だったら splitpath/makepath を使うべきですが :-)

うえけんさんの書かれている部分がまさにマトを得ている気がします。

「文字列からファイルパスを連結する」という用途が うえけんさん に
も見えてしまっているのではないですか? だからこそ使おうと考える
関数が sprintf や strcat/strcpy ではなくて makepath になるのでは?

void setFileName(char * dest,
  const char * drive,    const char * path,
  const char * filename, const char * ext)
{
  /* パラメータで貰った文字列を連結する */
}

void setAddress(char * dest,
  const char * ToDoFuKen, const char * SiGunKu,
  const char * KuChoSon,  cosnt char * Opt)
{
  /* パラメータで貰った文字列を連結する */
}

どちらも4つの文字列を繋ぐことを目的とした関数かもしれませんが、
後者に makepath を使おうと思ったりはしないでしょう。

こういった特殊化された例を出していても大きな進展はないですし、
本来の「文字列に文字列を連結する」という観点から離れてしまった
要素が大きく絡んできています。

時間も時間なので他の方の意見が見れないですし、2人でピンポンし
てても意味がないので、このへんで。
# 一連の投稿中の一部に、読み返してみて うえけんさん 個人に当て
# て出すべきだと思った内容を含むメールがあり、申し訳ない。

--
// El (K.Takaoka) ! saepro@din.or.jp 
// PGP : 7F61 E57E 972B 595D 14CD  EFA6 C055 7B61 13D4 F367


ML Archives