반응형

String 4

no viable conversion from 'value_type' (aka 'char') to 'string' (aka 'basic_string<char, char_traits<char>, allocator<char> >')

개요 string 할당하다가 생긴 오류 no viable conversion from 'value_type' (aka 'char') to 'string' (aka 'basic_string') "char"에서 "std::basic_string"(으)로 변환하기 위한 적절한 생성자가 없습니다. 설명 1 2 3 4 5 6 7 8 9 10 11 12 #include #include using namespace std; int main() { string s = "Hello, World"; string myStr = s[0]; return 0; } cs mystr에 H가 들어가야 할 거 같지만 string 클래스에 myStr = s[0]과 같은 생성자가 없기에 위와 같은 에러가 발생한다. 따라서 다음과 같이 생성..

언어/C++ 2022.11.05

[C++] string 덧셈

개요 알고리즘 문제를 풀다 보면, 숫자 범위가 long long 타입조차 초과하는 경우가 발생한다. 이럴 때는 string 타입으로 바꿔 계산할 필요가 있다. 풀이 원활한 계산을 위해 길이가 더 작은 string에 다른 string의 길이와 같게 되도록 앞에 0을 붙여준다. 예를 들어 17547 + 49의 경우 17547 + 00049로 만들어 준다. 그 후, 뒤에서 부터 덧셈을 진행하여 sum, carry를 계산하고 마지막에도 carry가 1이 발생하면 1을 앞에 붙여준다. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ..

언어/C++ 2022.09.17

[C++] string 한글 출력

개요 C++에서 string으로 한글을 출력할 때 깨지는 오류가 있었다. 관련해서 디버깅해보던 중에 한글이 2바이트... 인걸 깨닫게 되어 정리해본다. 예제 다음과 같은 코드의 출력 결과는 어떻게 될까? 1의 결과로는 "심"이 출력되고 2의 결과로는 3(심건우가 3글자이므로)이라고 생각하기 쉽다. #include #include using namespace std; int main() { string s = "심건우"; cout

언어/C++ 2022.07.15

[C++] string 클래스 정리

개요 C++에서 사용되는 string 클래스를 정리한다 목록 length() : 문자열의 길이를 반환한다. size() : 해당 string 객체가 메모리에서 실제 사용하고 있는 크기를 나타낸다. length()와 size()는 언제나 같은 값을 반환하지만, 그 의미에는 차이가 있다. append() : 문자열 끝에 다른 문자열을 추가한다. 문자열1.append(문자열2) : 문자열1의 끝에 문자열2를 추가한다. 문자열1.append(문자열2, 문자열2의 시작 위치, 개수) : 문자열1의 끝에 문자열2의 시작 위치부터 해당 개수만큼 문자열을 추가한다. 문자열.append(개수, 추가할문자) : 추가할 문자를 개수만큼 끝에 추가한다. find() : 특정 문자열을 찾아, 그 시작 위치를 반환한다. 문자열이..

언어/C++ 2021.12.09
반응형