나는 이것이 가장 쉬운 질문이지만, 왜 내가이 쑤시개를 조작 할 수 없는지 알아 내려고 애쓰는 데 어려움을 겪고있다. . 그래서 예를 들면 다음과 같습니다 :가리키는 문자열을 조작하는 방법
내가 원하는 것은 'str1'이 가리키는 문자열을 조작하는 것입니다. 예를 들어 아래에 표시된 것처럼 문자열을 출력하고 원본을 볼 수 있습니다. 그럼 거기에 null 문자를 추가하고 단축 할 수 있습니다.
cout << str1 << '\n';
str1[5] = '\0';
cout << str1;
나는 또한 시도했다 : 나는 이런 식으로 뭔가를 볼 수 바라고 있어요
cout << str1 << '\n';
*(str1+4) = '\0';
cout << str1;
어느 쪽이든은 :
는Hello World
Hello
내가 두 경우 모두지고있어 오류가 때입니다 문자열을 변경하려고합니다. str1을 배열 (char str1[] = ....
)로 선언하는 것이 더 쉬울 것이라는 것을 알았지 만, 두려워하게 사용하는 데 제약이 있습니다.
문자열 리터럴을 수정할 수 없습니다. 다행히도'char *'에 대한 할당은 C++ 11에서 더 이상 사용되지 않습니다. – juanchopanza