string
클래스는 주어진 문자열에 새로운 값을 할당하는 방법 assign
을 제공합니다. 서명은
1. string& assign (const string& str);
2. string& assign (const string& str, size_t pos, size_t n);
3. string& assign (const char* s, size_t n);
4. string& assign (const char* s);
5. string& assign (size_t n, char c);
6. template <class InputIterator>
string& assign (InputIterator first, InputIterator last);
이다 인용 출처 : (. 그것은 당신에게 표준 라이브러리 ++은 C의 매우 정교 참조를 제공하기 때문에 나는이 웹 사이트를 추천)
cplusplus.com이
난 당신이 다섯 번째 같은 뭔가를 찾고 있다고 생각 이 함수들 중 n
은 문자열의 원하는 길이를 지정하고 c
이 문자열에 채워진 문자를 지정합니다. 예를 들어, 작성하는 경우
sTemp.assign(10, 'b');
문자열은 10 b로만 채워집니다.
원래 STL 알고리즘 std::fill
을 사용하도록 제안했으나 문자열 길이는 변경되지 않습니다. 메서드 string::resize
은 문자열의 크기를 변경하는 방법을 제공하고 추가 된 문자를 지정된 값으로 채 웁니다. 그러나 추가 된 문자 만 설정됩니다. 마지막으로 string::assign
은 최상의 접근 방식을 유지합니다!
왜 아래로 투표를? 그 이유에 대해 적어도 코멘트를 남겨주세요. 이 방법으로 만 배울 수 있습니다! – phlipsy
나는 downvote하지 않았지만 가능하면 다른 #include는 필요 없다. –
채우기가 좋지 않다는 사실은 문자열의 크기를 변경할 수 없기 때문에 좋지 않다는 것을 알았다. resize는 초기 문자 만 사용하여 문자열의 새 문자를 초기화합니다 (크기 조절 후). 원래 문자열이 그대로 유지됩니다. 그것들은 "생성자를 다시 호출하십시오"라는 원하는 효과와 일치하지 않습니다. 적절한 기능이 할당됩니다. –