[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;
}