C++에서 문자열을 인쇄하는 방법
이 기사에서는 C++에서 문자열을 인쇄하는 방법에 대한 여러 방법을 보여줍니다.
std::cout
및<<
연산자를 사용하여 문자열 인쇄
std::cout
은 스트림 버퍼에 대한 출력을 제어하기위한 전역 객체입니다. s1
문자열 변수를 버퍼에 출력하려면 스트림 삽입 연산자라고하는<<
연산자를 사용해야합니다. 다음 예제는 단일 문자열 출력 작업을 보여줍니다.
#include <iostream>
#include <iterator>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main() {
string s1 = "This string will be printed";
cout << s1;
cout << endl;
return EXIT_SUCCESS;
}
출력:
This string will be printed
std::copy
알고리즘을 사용하여 문자열 인쇄
copy
메서드는<algorithm>
STL 라이브러리에서 가져 왔으며 다양한 방법으로 범위 요소를 조작 할 수 있습니다. string
컨테이너 자체에 범위로 액세스 할 수 있으므로std::ostream_iterator <char>
인수를copy
알고리즘에 추가하여 각 요소를 출력 할 수 있습니다.
이 메서드는 문자열의 각 문자 사이에 특정 구분 기호를 전달할 수도 있습니다. 다음 코드에서는 문자열을 원래 형식으로 인쇄하기 위해 구분 기호 (""
)를 지정하지 않았습니다.
#include <iostream>
#include <iterator>
#include <string>
#include <vector>
using std::cin;
using std::copy;
using std::cout;
using std::endl;
using std::string;
using std::vector;
int main() {
string s1 = "This string will be printed";
copy(s1.begin(), s1.end(), std::ostream_iterator<char>(cout, ""));
cout << endl;
return EXIT_SUCCESS;
}
printf()
함수를 사용하여 문자열 인쇄
printf
는 형식화 된 출력에 사용되는 강력한 도구입니다. C 표준 입출력 라이브러리의 일부입니다. C++ 코드에서 직접 호출 할 수 있습니다. printf
는 가변 개수의 매개 변수를 가지며, 문자열 변수를char *
유형으로 취합니다. 즉,s1
변수에서c_str
메소드를 호출하여 인수로 전달해야합니다. 각 유형에는 다음 표에 나열된 고유 한 형식 지정자 (예 :string
-% s
)가 있습니다.
지정자 | 기술 |
---|---|
% |
리터럴 % 문자를 인쇄합니다 (이 유형은 플래그, 너비, 정밀도, 길이 필드를 허용하지 않음). |
d, i |
int는 부호있는 정수입니다. % d 및 % i는 출력과 동일하지만 입력에 scanf 와 함께 사용하면 다릅니다 (여기서 % i를 사용하면 앞에 0x가 오면 16 진수로, 앞에 0이 오면 8 진수로 해석됩니다). |
u |
부호없는 정수를 인쇄합니다. |
f, F |
일반 (고정 소수점) 표기법에서는 double입니다. f와 F는 무한 수 또는 NaN에 대한 문자열이 인쇄되는 방식 만 다릅니다 (f의 경우 inf, infinity 및 nan, F의 경우 INF, INFINITY 및 NAN). |
e, E |
표준 형식의 double 값 (d.ddde ± dd). E 변환은 e가 아닌 문자 E를 사용하여 지수를 도입합니다. |
g, G |
정규 표기법이나 지수 표기법 중 두 배로, 그 크기에 더 적합한 표기법입니다. g는 소문자를 사용하고 G는 대문자를 사용합니다. |
x, X |
16 진수로 unsigned int. x는 소문자를 사용하고 X는 대문자를 사용합니다. |
o |
8 진수로 된 unsigned int. |
s |
널로 끝나는 문자열. |
c |
char (문자). |
p |
구현 정의 형식의 void * (void에 대한 포인터). |
a, A |
0x 또는 0X로 시작하는 16 진수 표기법의 double입니다. a는 소문자를 사용하고 A는 대문자를 사용합니다. |
n |
아무것도 인쇄하지 않지만 지금까지 성공적으로 기록 된 문자 수를 정수 포인터 매개 변수에 기록합니다. |
#include <iostream>
#include <iterator>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main() {
string s1 = "This string will be printed";
cout << s1;
cout << endl;
printf("%s", s1.c_str());
cout << endl;
return EXIT_SUCCESS;
}
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook