我有以下代码:
scanf(" %Xs %Ys", buf1, buf2);
其中 X 和 Y 应该是整数。问题是 X 和 Y 的值是编译时常量,即使我想将值硬编码到格式字符串中,我也做不到,因为我不知道这些值。在 printf 中,您可以发送一个宽度变量以及带有“%*s”的参数。scanf有什么类似的吗?
编辑:澄清一下,常量在编译时是已知的,但在编码时是已知的,我根本不知道。它们可能因平台或实现而异,并且在我完成后它们可能会发生变化。即使他们没有,我仍然不希望在格式字符串中复制缓冲区大小,准备好在我忘记保持同步的那一刻进行段错误。