ご参考に:
int nLen;
char *pchSrc, *pchDest, szBuf[BUF_SIZE];
pchSrc = ヘッダかフッダ文字列; pchDest = szBuf;
while (*pchSrc) {
if(*pchSrc == '&') { pchSrc++;
switch(*pchSrc) {
case 'f':
nLen = lstrlen(ファイル名);
// lstrcpyn はゼロ文字も含める
lstrcpyn(pchDest, ファイル名, nLen+1);
pchSrc += nLen; pchDest += nLen;
break;
case 'P'
pchDest += sprintf(pchDest, "%ld", ページ番号);
break;
.....
default: pchSrc--;
}
}
*pchDest = *pchSrc;
pchSrc = _mbsinc(pchSrc);
pchDest = _mbsinc(pchDest);
}
*pchDest = '\0';
// (szBuf:変換・格納された文字列)