[684]
    ヘッダとフッダの変換例
    あああ
    
    低レベル実装がお嫌いのようですね?
StrChr と CMemory を用いて書きなおしました。
StrChr が使えるか心配ですが。
CMemory* FormatHeaderFooter(char *pchSrc) {
  CMemory *pcmem = new CMemory;
  char szBuf[8], *pch = pchSrc;
  do {
    pch = StrChr(pch, '&');
    if(pch == NULL) break; // '&' が見つからなかった
    // '&' の直前まで追加。
    cmem.Append(pchSrc, (int)(pch - pchSrc));
    pchSrc ++; // '&' の次に移動。
    switch(*pchSrc) {
    case 'f': cmem.AppendSz(ファイル名); break;
    case 'P':
      sprintf(szBuf, "%ld", ページ番号);
      cmem.AppendSz(szBuf);  break;
      .....
    default: pch ++; // 読み飛ばし。
    }
    pchSrc = pch;
  } while(1);
  return cmem;
}