fprintf 예제

입력 인수 형식은 형식 형식과 일치해야 합니다. 예를 들어 n이 이중인 경우 코드 생성은 다음 코드를 허용하지 않습니다. 우리는 직원의 ID, 이름 및 급여를 저장하려고합니다. 문자열에 단일 따옴표를 삽입하려면 두 개의 단일 따옴표를 함께 사용합니다. 예를 들어 다음 예제에서는 지역화된 날짜 문자열을 가져옵니다. nl_langinfo() 함수는 날짜의 순서와 레이아웃을 지정하는 지역화된 날짜 문자열을 반환합니다. strftime() 함수는 이 정보를 사용하고 값에 대한 tm 구조를 사용하여 날짜 및 시간 정보를 datestring에 배치합니다. 그런 다음 printf() 함수는 날짜 문자열과 항목의 이름을 출력합니다. 필드 너비 또는 정밀도 또는 둘 다별표(`*`)로 표시될 수 있습니다.

이 경우 int 형식의 인수는 필드 너비 또는 정밀도를 제공합니다. 응용 프로그램은 필드 너비 또는 정밀도 또는 둘 다를 변환할 인수 앞에 해당 순서로 표시되도록 해야 합니다. 음수 필드 너비는 `-` 플래그로 이동한 다음 양수 필드 너비로 이동합니다. 음의 정밀도는 정밀도가 생략된 것처럼 촬영됩니다. 【XSI】 변환 사양의 “%n$” 형식을 포함하는 형식 문자열에서 필드 너비 또는 정밀도는 “*m$”시퀀스로 표시될 수 있으며, 여기서 m은 [1,{NL_ARGMAX}] 범위의 소수점 정수인 경우 인수 목록(형식 인수 후)의 위치를 제공합니다. 예를 들어 필드 너비 또는 정밀도를 포함하는 정수 인수의 예: 헥사드상에서 이중 값을 인쇄하려면 `%bx` 형식을 사용합니다. 정수 형식 지정자로 fprintf를 호출할 때 정수 인수의 형식은 대상 하드웨어가 네이티브 C 형식으로 나타낼 수 있는 형식이어야 합니다. 예를 들어 fprintf(`%d`, int64(n))라고 부르는 경우 대상 하드웨어에는 64비트 정수를 지원하는 기본 C 유형이 있어야 합니다. 예제의 마지막 줄에서 세 문자를 처리한 후 9바이트가 출력되었습니다. 그런 다음 네 번째 문자를 검사하여 1바이트 이상으로 변환하는지 여부를 결정해야 합니다. 두 배 이상의 바이트로 변환하면 출력은 9바이트에 불과합니다.