C++에서 문자열을 인쇄하는 방법

Jinku Hu 2023년10월12일
  1. std::cout<<연산자를 사용하여 문자열 인쇄
  2. std::copy 알고리즘을 사용하여 문자열 인쇄
  3. printf()함수를 사용하여 문자열 인쇄
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;
}
작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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

관련 문장 - C++ String