Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ 조작기(endl, setw, setprecision, setf)란 무엇입니까?


스트림 조작자는 스트림 개체에 대한 삽입(<<) 및 추출(>>) 연산자와 함께 사용하도록 특별히 설계된 기능입니다. 예를 들어 -

std::cout << std::setw(10);

그들은 여전히 ​​​​정규 함수이며 스트림 객체를 인수로 사용하여 다른 함수로 호출 할 수도 있습니다. 예를 들어 -

boolalpha (cout);

조작자는 스트림의 형식 매개변수를 변경하고 특정 특수 문자를 삽입하거나 추출하는 데 사용됩니다.

다음은 가장 널리 사용되는 C++ 조작기입니다 -

endl

이 조작자는 '\n'(줄 바꿈 문자)과 동일한 기능을 가지고 있습니다. 그러나 이것은 또한 출력 스트림을 플러시합니다.

예시

#include<iostream>
int main() {
   std::cout << "Hello" << std::endl << "World!";
}

출력

Hello
World!

showpoint/noshowpoint

이 조작기는 부동 소수점 표현에 소수점이 항상 포함되는지 여부를 제어합니다.

예시

#include <iostream>
int main() {
   std::cout << "1.0 with showpoint: " << std::showpoint << 1.0 << '\n'
             << "1.0 with noshowpoint: " << std::noshowpoint << 1.0 << '\n';
}

출력

1.0 with showpoint: 1.00000
1.0 with noshowpoint: 1

정밀도 설정

이 조작기는 부동 소수점 정밀도를 변경합니다. out <> setprecision(n) 식에서 사용될 때 스트림의 정밀도 매개변수를 out <

예시

#include <iostream>
#include <iomanip>
int main() {
   const long double pi = 3.141592653589793239;
   std::cout << "default precision (6): " << pi << '\n'
             << "std::setprecision(10): " << std::setprecision(10) << pi << '\n';
}

출력

default precision (6): 3.14159
std::setprecision(10): 3.141592654

setw

이 조작기는 다음 입력/출력 필드의 너비를 변경합니다. out <> setw(n) 식에서 사용될 때 스트림 out 또는 in의 너비 매개변수를 정확히 n으로 설정합니다.

예시

#include <iostream>
#include <iomanip>
int main() {
   std::cout << "no setw:" << 42 << '\n'
             << "setw(6):" << std::setw(6) << 42 << '\n'
             << "setw(6), several elements: " << 89 << std::setw(6) << 12 << 34 << '\n';
}

출력

no setw:42
setw(6):    42
setw(6), several elements: 89    1234