해당 내용은 Pope 님의 C++ 언메니지드 프로그래밍 강좌를 공부하면서 정리하였습니다.
char line[256];
cin.getline(line, 256);
// 위의 코드가 작동하지 않는 경우
// 1. 아무것도 읽지 못했을 때
// 2. 한 줄에 문자가 256자 이상일 때(즉, 버퍼가 충분히 크지 않을 때)
//std::string클래스를 이용한 문자열은 길이가 증가할 수 있음
#include <string>
std::string firstname;
std::cin >> firstname;
//assignment && append
string firstname = "park";
string fullname = "jiyun";
fullname = firstname;
fullname += " jiyun";
//compare
if (firstname == fullname)
{
}
// 사전상의 순서를 비교 (아스키코드 기준)
if (firstname > fullname)
{
{
//size(), length()
cout << firstname.size() << endl; // 문자열의 길이를 반환
cout << firstname.length() << endl;
//c_str()
// 해당 string이 가지고 있는 문자 배열의 시작 주소를 가리키는 포인터를 반환
string line;
cin >> line;
const char* cline = line.c_str();
// string 속의 한 문자에 접근
//[] 자체가 연산자임
string firstname = "park";
char letter = firstname[1];
firstname[2] = 'p'; // 연산후 참조형을 반환함을 알 수 있음(특정 값을 대입할 수 있기 때문)
// at()
// 해당 문자열에서 주어진 위치의 문자를 참조로 반환
char letter = firstname.at(1);
firstname.at(2) = 'p';
#include <string>
string line;
line = "park";
line += "hello? is size enough?"