printf()로 인쇄할 문자 수 지정
질문이 생깁니다. printf()에 다음을 허용하는 메커니즘이 있습니까? 문자열에서 인쇄할 문자 수를 지정합니까? 이를 정수의 소수 자릿수를 지정하는 것과 비교할 수 있습니다. 예를 들면 다음과 같습니다.
printf ("Here are the first 8 chars: %s\n", "A string that is more than 8 chars");
이 줄은 다음을 출력해야 합니다.
Here are the first 8 chars: A string
Solution
이를 달성하기 위한 두 가지 기본 접근 방식이 있습니다. C.
방법 1: 기본 접근법
printf ("Here are the first 8 chars: %.8s\n", "A string that is more than 8 chars");
방법 2: 다목적 접근법
printf ("Here are the first %d chars: %.*s\n", 8, 8, "A string that is more than 8 chars");
이 접근법에서는 길이가 printf()에 대한 int 인수로 제공됩니다. . 형식의 '*'는 인수에서 길이를 검색하라는 요청으로 해석됩니다.
확장 표기법
다른 표기법을 사용할 수 있습니다:
printf ("Here are the first 8 chars: %*.*s\n", 8, 8, "A string that is more than 8 chars");
"%8.8s"와 유사하게 이 표기법을 사용하면 런타임 시 최소 및 최대 길이를 지정할 수도 있습니다. 이는 다음과 같은 시나리오에서 특히 유용합니다.
printf("Data: %*.*s Other info: %d\n", minlen, maxlen, string, info);
printf()에 대한 POSIX 사양은 이러한 메커니즘에 대한 자세한 설명을 제공합니다.
위 내용은 printf()를 사용하여 문자열에서 인쇄할 문자 수를 지정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!