1

そのため、文字列を受け取り、特殊な形式の文字を取り除き、後で処理するために別の文字列に割り当てる関数があります。

サンプル呼び出しは次のようになります。

act_new("$t does $d");

$t と $d を取り除き、2 番目の文字列を「 do 」のままにする必要がありますが、何も割り当てません。私はかなりの数年間活動を休止していましたが、プログラミングに戻ってきました。これは他の誰かのコード (MUD コードベース、Rom) ですが、ポインターの割り当てに関する基本的な何かが欠けているように感じます。任意のヒント?

(これは切り捨てられたコードです。残りは、ずっと後まで str や point に対する操作を行いません)

void act_new(const char *format)
{
  const char *str;
  char *point;

  str = format;

  while ( *str != '\0' ) {
    if ( *str != '$' ) {
      *point++ = *str++;
      continue;
    }
  }
}
4

2 に答える 2