Written by coh at home
문자열 본문
c++에서는 c에서 쓰던 문법들을 모두 지원합니다. 따라서 다음과 같은 형식으로도 사용이 가능합니다.
char a[6]{"hello"};
char *a = "cheol5";
그렇지만 c++은 객체지향언어이기 때문에 문자열을 처리하는 클래스타입을 지원합니다.
std::string name{"cheolho"};
name 변수는 이제 원래 c에서의 배열처럼 변경가능합니다.
단 전통적인 c에서는 문자열의 끝을 '\n'로 지정해주었는데 std::string에서는
null character를 이용하면 안 됩니다. 이제부터 널문자는 더 이상 문자열의 끝을 나타내는 것이 아니기 때문입니다.
문자열 갯수를 파악하기 위해서 메소드로 .size or .length를 지원합니다.
#include <iostream>
using namespace std::literals;
// 주소보다는 references 통해 전달받음.
int atoi(const std::string& word){
int ret{0};
bool isNegative(false);
int i{0};
if(word[0] =='-') {
isNegative = true;
++i;
}
for (; i<word.size(); i++){
int digit{static_cast<int>(word[i]-'0')};
ret = ret *10 +digit;
}
return isNegative? -ret:ret;
}
int main() {
std::cout << atoi("1234"s) << "\n";
std::cout << atoi("-1234"s) << "\n";
return 0;
}
'languages > c++' 카테고리의 다른 글
클래스 (0) | 2022.05.16 |
---|---|
[c++]배열, Leetcode26,27 (0) | 2022.04.07 |
bit 연산 (0) | 2022.04.04 |
부동소수 반올림 오차 (0) | 2022.04.03 |
참조변수, 축소변환, auto, decltype (0) | 2022.04.03 |