>>902 コレもK&Rに載ってるはずだが、プリプロセッサがマクロに渡した引数を
リテラルに置き換える機能、連続したリテラルを一つのリテラルにまとめる
機能を持っている。
こんなかんじ。
#include <stdio.h>
#define LEN 32
#define TOSTR(x) #x
int main()
{
char buf[256];
char buf2[LEN+1];
while (fgets(buf, sizeof(buf), stdin) != 0)
{
sscanf(buf, "%" TOSTR(LEN) "s", buf2);
}
return 0;
}