01. 프로그래밍 기초 with C++
STL
Standard Template Library
string library
#include <iostream>
#include <string> // std::string을 쓰고 싶다면 이 헤더를 포함해야 한다.
#include <assert.h>
using namespace std;
int main()
{
std::string s = "Hello";
std::cout << s << "\\n";
**// empty()로 빈 문자열인지 확인할 수 있다.**
if (s.empty())
{
std::cout << "빈 문자열이다.\\n";
}
**// length() / size()로 문자열의 길이를 알 수 있다.**
std::cout << "이 문자열의 길이는 " << s.length() << "\\n";
// std::cout << "이 문자열의 길이는 " << s.size() << "\\n";
**// [] 연산자로 각 문자에 접근할 수 있다.**
**// front()로 첫 번째 문자에, back()으로 마지막 문자에 접근할 수 있다.**
std::cout << "이 문자열의 3번째 문자는 " << s[2] << "\\n";
std::cout << "이 문자열의 1번째 문자는 " << s.front() << "\\n";
std::cout << "이 문자열의 마지막 문자는 " << s.back() << "\\n";
**// clear()로 빈 문자열로 만들 수 있다.**
s.clear();
if (s.empty())
{
std::cout << "빈 문자열이다.\\n";
}
**// push_back() / append() / + 연산자로 맨 끝에 문자(열)를(을) 삽입할 수 있다.**
s.push_back('H'); // "H"
s.append("ello"); // "Hello"
s += " World!"; // "Hello World!"
std::cout << s << "\\n";
**// insert()로 문자(열)를(을) 중간에 삽입할 수 있다.**
s.insert(5, " Inserted"); // "Hello Inserted World!"
std::cout << s << "\\n";
**// pop_back()으로 마지막 문자를 삭제할 수 있다.**
s.pop_back(); // "Hello Inserted World"
std::cout << s << "\\n";
**// erase()로 문자(열)를(을) 삭제할 수 있다.**
s.erase(5, 9); // "Hello World"
std::cout << s << "\\n";
**// ==, !=, <, > 연산자로 문자열을 비교할 수 있다.**
if (s == "Hello World")
{
std::cout << "Hello World와 같다.\\n";
}
if (s != "Hello")
{
std::cout << "Hello와 다르다.\\n";
}
if (s > "Hello")
{
std::cout << s << "가 Hello 뒤에 나온다.\\n";
}
if (s < "Idle")
{
std::cout << s << "가 Idle 전에 나온다.\\n";
}
**// substr()로 문자열을 추출할 수 있다.**
std::cout << s.substr(6) << "\\n"; // "World"
std::cout << s.substr(0, 5) << "\\n"; // "Hello"
**// 숫자와 문자열 간 변환도 가능하다.**
s = "3.14";
float f = std::stof(s); // f(3.14)
s = "142";
int i = std::stoi(s); // i(142)
s = std::to_string(f); // s("3.14")
**// 입력도 받을 수 있다.**
std::cout << "단어를 입력해주세요. : ";
std::cin >> s;
std::cout << s << "\\n";
std:cin.get();
std::cout << "문장을 입력해주세요. : ";
std::getline(std::cin, s); //공백이 필요한 문자열을 받고싶다면..
cout << s << endl;
**//아래는 실습 해봤..**
cout << "마지막 문자는 : " << s[10] << endl;
cout << "첫번째 문자는 : " << s.front() << endl;
cout << "마지막 문자는(back 쓴거) : " << s.back() << endl;
cout << "이 문자열의 사이즈는? : " << s.size() << endl;
s.pop_back();
cout << "pop_back 써서 뒷글자 하나 지움 : " << s << endl;
s.begin();
cout << "begin 쓴거 : " << s << endl;
s.end();
cout << "end 쓴거 : " << s << endl;
cout << "몇번째 바꿀래?" << endl;
int N;
cin >> N;
s.insert(N, "shit");
cout << "단어 바꾸기 : " << s << endl;
return 0;
}
In&Output Library
- 객체지향적 스트림기반의 라이브러리
- C 스타일 입출력 함수
- 입출력