可以吧,尝试把格式控制字符串放在一个变量中试试看,我从来没有写过这样的代码,但是在汇编中用过类似的格式控制,不过我这个字符串变量中存放的也是个常量字符串。
不知道这个思路是否可行,你试试看吧,通过修改字符串变量,来控制输出格式
以下是汇编代码:
invoke wsprintf,addr @szBuffer,addr szFormat,_dwCommandID
其中szFormat变量就是一个格式字符串
int __cdecl wsprintf( _Out_ LPTSTR lpOut, _In_ LPCTSTR lpFmt, _In_ ...);
这个是函数原型,第二个参数就是格式字符串,是个指针类型数据,所以上面的例子用的是变量的地址
//printf 函数中,*是表示输出的宽度需再读入一个变数。
//例如:
printf("%*d",5,5) 等于printf("%5d",5)
printf("%*d",9,3) 等于printf("%9d",3)
//你可以定义你的变量n ,然后赋值,然后 ,这样写
printf("%*d",n,5);