2014-11-09 4 views
1

형식 지정자 (% _f와 같은)로 밑줄 문자가 있으면 C 코드에서 아무 것도 알지 못합니까? 나는 그것을 사용하는 책에 몇 가지 코드를 발견했지만 봤지만 아무 것도 발견하지 못했습니다. 또한 Xcode에서 다음 Objective-C 코드를 테스트했으며 Xcode가이 지정자를 지원하지 않는 것으로 보입니다. C에서 유효합니까?C printf 형식 지정자 % _fi

-(void) print { 
    printf("%_f + %_fi", real, imaginary); 
} 

고마워요!

+1

를? –

+1

일부 컴파일러는 double의 "최적"표시를 위해 이것을 분명히 지원합니다. http://www.thinkage.ca/english/gcos/expl/c/lib/printf.html –

+1

Jens가 제안한 것이 사실이라면 형식 지정자 그래도'% f'입니다. 후행하는'i'는 형식의 일부가 아닙니다. – Deduplicator

답변

5

OS X man page for printf()이 말한다

  • 선택적 구분 문자 (, | ; | _ | :)를 알티 벡 또는 SSE 벡터 또는 다른 다치 인쇄시 여러 값을 분리하는 데 사용 단위.

    참고 : 이것은 printf() 사양의 확장입니다. printf()에 대한이 값의 동작은 AltimEC 기술 프로그래밍 인터페이스 설명서에 따라 시스템을 작동하는 경우에만 정의됩니다. (작성 당시에이 유일한 맥 OS X 10.2 이후 이 포함되어 있습니다.) 아마도이 책의 목적으로 공백 문자를 상징하는 의미

+1

저는 이것이 사실이 아니라고 생각합니다. 우리가 벡터가 아닌 복식을 인쇄하고 있기 때문입니다. –

+1

구분 기호는 AltiVec 또는 SSE 벡터 또는 다른 다중 값 단위를 인쇄 할 때'printf()' "에서 사용됩니다. 이러한 다중 값 장치를 인쇄하지 않으면 아마 사용되지 않을 것입니다. "v"길이 수정 자의 유무는 인수가 벡터 값으로 해석되는지 여부를 결정합니다. (맨 페이지를 참조하십시오.) 그래서이 경우 밑줄은 아무 것도하지 않습니다. –