两个字符串之间用“#”号加一个数字连接是啥意思
看别人的代码里面关于sscanf有一个是这么用的:
#define STRINGIFY_1(x) #x
#define S(x) STRINGIFY_1(x)
ret1 = sscanf(gbuffer, "%"S(MAX_OPERATION_SIZE)"s"
"%"S(BUF_SIZE)"s"
"%"S(BUF_SIZE)"s"
"%"S(MAX_FILE_PATH)"s", operation, flash_id_buf,
address_buf, file_path);
本来应该是"%s"或者"%10s",但是这个拆成了两个字符串,变成了"%"#10"s",中间的#加一个数字是啥意思?有这种用法么?