char str[ ] = "문자열" 로 표현하며
char형 배열에 문자를 넣은 것이다.
문자열은 항상 끝에 NULL 문자를 넣어 문자열이 끝이 났음을 표시 해야한다.
#include <iostream>
#include <cstring>
using namespace std;
int main(){
char str[] = "abc"
for(int i = 0; i < strlen(str); i++)
cout << str[i];
cout << "\n";
cout << size(str);
/*
실제 문자열의 길이는 3이지만
문자열의 크기는 NULL 문자를 포함하여 4byte가 나온다.
*/
return 0;
}
abc
4
< cstring > 헤더파일내의 함수로 C언어에서 주로 사용한다
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
int main() {;
char str1[] = "hello";
char str2[] = "hello";
char str3[6];
char str4[] = "100";
char str5[4];
int num = 200;
int rescmp = strcmp(str1, str2);
cout << "strcmp() " << rescmp << endl;
/*
-1 : 첫번째 문자열이 사전적으로 앞으로 와야 할 때
0 : 비교하는 두 문자열이 같을 때
1 : 두번째 문자열이 사전적으로 앞으로 와야 할 때
*/
strcpy(str3, str1);
cout<< "strcpy() " << str3 << endl;
// str3에 str1을 복사
cout << "strcat() " << strcat(str1, str2) << endl;
// str1 뒤에 str2를 붙여서 저장 or 출력
cout << "atoi() " << atoi(str4) << endl;
// 정수가 들어간 문자열을 정수형으로 바꿈 실수는 atof()를 사용
sprintf(str5, "%d", num);
cout << "sprinf() " << str5 << endl;
// 정수형을 문자열로 형변환을 시킴 2번째 인자의 형태에 따라 다른 형변환도 가능
return 0;
}
strcmp() 0
strcpy() hello
strcat() hellohello
atoi() 100
sprinf() 200
이외에도 입력에는 cin.getlin(문자열, 문자열길이)를 통해
문자열을 입력 받을 수 있다.
< string > 헤더파일을 포함하여 사용하며
string이라는 자료형을 구현하여 문자열로 사용한다.
#include <iostream>
#include <string>
using namespace std;
int main() {
string str1 = "abcd";
string str2;
std::getline(cin, str2);
// 문자열을 입력 받는다.
cout << str2 << endl;
if (str1 == str2)
cout << "equal" << endl;
// 문자열을 직접 비교할 수 있다.
cout << "str1 + str2 " << str1 + str2 << endl;
cout << "c_str strcmp() " << strcmp(str1.c_str(), str2.c_str()) << endl;
// + 연산 기호를 붙여 문자열을 붙일 수 있고
// c_str()을 붙여 C언어의 문자열 함수 사용가능
cout << "size " << str1.size() << endl;
cout << "length " << str1.length() << endl;
// 크기와 길이를 구한다
string str3 = to_string(123);
int num = stoi("100");
cout << "integer to string " << str3 << endl;
cout << "stirng to integer " << num << endl;
// 정수를 문자열로 변환 가능하고 문자열을 정수형으로 변환 가능하다.
return 0;
}
abcd
abcd
equal
str1 + str2 abcdabcd
c_str strcmp() 0
size 4
length 4
integer to string 123
stirng to integer 100