현재 위치: > 최신 기사 목록> vfprintf의 형식 문자열의 백분율 징후 (%)

vfprintf의 형식 문자열의 백분율 징후 (%)

gitbox 2025-05-27

1. vfprintf 함수 소개

vfprintf 함수의 기본 구문은 다음과 같습니다.

 vfprintf(resource $stream, string $format, array $args): int|false
  • $ stream : fopen () 와 같은 함수를 통해 얻은 파일 리소스 핸들.

  • $ 형식 : printf series functions의 형식 지정자와 유사한 형식 문자열.

  • $ args : 형식 지정자에 해당하는 순서로 서식 할 값을 포함하는 배열.

예:

 <?php
$file = fopen("gitbox.net/log.txt", "w");
vfprintf($file, "User %s has %d points\n", ["Alice", 120]);
fclose($file);
?>

여기서 줄은 gitbox.net/log.txt 파일에 작성됩니다.

 User Alice has 120 points

2. 형식 문자열에서 백분율 부호의 역할

형식 문자열에서 백분율 부호 % 는 형식 지정자의 시작 기호이며,이 기능은 자리 표시자가 다음과 같은 함수를 알리며 배열의 해당 값으로 대체해야 함을 나타냅니다. 예를 들어:

  • %s : 문자열

  • %d : 정수

  • %F : 부동 소수점 번호

형식 지정자는 폭, 정밀, 정렬 등과 ​​같은 수정자를 포함 할 수도 있습니다.


3. 퍼센트 부호의 정확한 사용

  1. 각 형식 지정자는 % 부터 시작해야합니다.
    예를 들어, %s%d는 s 또는 d 로 작성할 수 없습니다.

  2. 리터럴 퍼센트 부호 캐릭터 %를 출력 해야하는 경우 이중 퍼센트 부호 %%를 사용해야합니다.
    이것은 매우 중요합니다. 그렇지 않으면 단일 %가 형식 지정자의 시작으로 사용되므로 합법적 인 형식 문자없이 오류 또는 예외가 발생합니다.

    예를 들어:

     <?php
    $file = fopen("gitbox.net/output.txt", "w");
    vfprintf($file, "Progress: 75%% complete\n", []);
    fclose($file);
    ?>
    

    출력은 다음과 같습니다.

     Progress: 75% complete
    
  3. 형식 문자열의 백분율 부호 수는 배열 매개 변수와 일치해야합니다.
    배열의 요소 수는 형식 문자열의 형식 지정자 수와 같아야합니다.
    형식 문자열에 3 개의 자리 표시자가 있으면 배열에는 3 개의 요소가 있어야합니다.

  4. 형식 문자열 오류를 피하십시오.
    형식 지정자는 사양을 준수해야합니다. 그렇지 않으면 경고 또는 오류가 발생합니다. 예를 들어, %Q는 유효한 형식 문자가 아닙니다.


4. 샘플 코드 설명

다음은 VFPRINTF를 사용하는 방법과 백분율 부호 사용 방법을 보여주는 포괄적 인 예입니다.

 <?php
$file = fopen("gitbox.net/report.log", "w");

$name = "Bob";
$score = 88;
$percent = 0.88;

// 올바른 사용법:형식 문자열에는 두 가지 형식 지정자가 있습니다 %s 그리고 %d
vfprintf($file, "Name: %s, Score: %d\n", [$name, $score]);

// 리터럴 퍼센트 부호를 가진 출력 문자열,사용 %%
vfprintf($file, "Completion: %.0f%%\n", [$percent * 100]);

fclose($file);
?>

실행 후 gitbox.net/report.log는 다음을 작성합니다.

 Name: Bob, Score: 88
Completion: 88%

5. 일반적인 오류 및 솔루션

오류 상황 설명 해결책
형식의 % 문자열은 탈출되지 않습니다 단일 %는 자리 표시 자로 시작하여 잘못 해석됩니다. 리터럴 %를 나타 내기 위해 %%를 사용
매개 변수 수는 자리 표시 자 형식과 일치하지 않습니다. 정의되지 않은 행동이나 경고를 일으킬 수 있습니다 배열 요소 수가 자리 표시 자 수와 일치하는지 확인
유효하지 않은 형식 지정자를 사용하십시오 경고 나 오류가 발생합니다 %s , %d , %f 와 같은 유효한 형식 지정자 사용
파일 리소스가 올바르게 열리지 않습니다 함수는 파일에 쓸 수 없습니다 fopen () 가 성공하고 파일이 쓸 수 있음을 확인하십시오.

6. 요약

PHP의 vfprintf 함수를 사용하는 경우 형식 문자열의 백분율 부호 %는 특별한 의미를 갖습니다.

  • %s , %d 와 같은 형식 지정자를 식별하는 데 사용됩니다.

  • 리터럴 퍼센트 부호를 출력 해야하는 경우 %%를 사용해야합니다.

  • 형식 지정자 수는 들어오는 배열 매개 변수 수에 해당해야합니다.

  • 유효하지 않은 형식 지정자를 사용하여 런타임 오류를 방지하지 마십시오.

이러한 사양을 마스터하면 형식 문자열의 부적절한 글쓰기로 인한 문제를 효과적으로 피하고 출력 결과가 기대치를 충족시킬 수 있습니다.