'C'의 경우 사용자 정의 패딩이 필요할 때 malloc () 또는 사전 서식 지정이 필요하지 않은 [s] printf의 대체 (더 복잡한) 사용이 있습니다.
트릭은 % s에 대해 '*'길이 지정자 (최소 및 최대)를 사용하고 패딩 문자로 최대 잠재적 길이까지 채워진 문자열을 사용하는 것입니다.
int targetStrLen = 10;
const char *myString="Monkey";
const char *padding="#####################################################";
int padLen = targetStrLen - strlen(myString);
if(padLen < 0) padLen = 0;
printf("[%*.*s%s]", padLen, padLen, padding, myString);
printf("[%s%*.*s]", myString, padLen, padLen, padding);
"% *. * s"는 LEFT 또는 RIGHT 패딩에 대한 요구에 따라 "% s"앞 또는 뒤에 배치 할 수 있습니다.
[####Monkey] <-- Left padded, "%*.*s%s"
[Monkey####] <-- Right padded, "%s%*.*s"
PHP printf ( here )는 % s 형식 내에서 작은 따옴표 ( ') 다음에 사용자 정의 패딩 문자를 사용하여 사용자 정의 패딩 문자를 제공하는 기능을 지원 한다는 것을 발견했습니다 .
printf("[%'#10s]\n", $s); // use the custom padding character '#'
생성 :
[####monkey]