Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::basic_string_view<CharT,Traits>::copy

      From cppreference.com
      <cpp‎ |string‎ |basic string view
       
       
       
      std::basic_string_view
       
      size_type copy( CharT* dest, size_type count, size_type pos=0)const;
      (since C++17)
      (constexpr since C++20)

      Copies the substring[pospos+ rcount) to the character array pointed to bydest, wherercount is the smaller ofcount andsize()- pos.

      Equivalent toTraits::copy(dest, data()+ pos, rcount).

      Contents

      [edit]Parameters

      dest - pointer to the destination character string
      count - requested substring length
      pos - position of the first character

      [edit]Return value

      Number of characters copied.

      [edit]Exceptions

      std::out_of_range ifpos> size().

      [edit]Complexity

      Linear inrcount.

      [edit]Example

      Run this code
      #include <array>#include <cstddef>#include <iostream>#include <stdexcept>#include <string_view> int main(){constexprstd::basic_string_view<char> source{"ABCDEF"};std::array<char,8> dest;std::size_t count{}, pos{};     dest.fill('\0');    source.copy(dest.data(), count=4);// pos = 0std::cout<< dest.data()<<'\n';// ABCD     dest.fill('\0');    source.copy(dest.data(), count=4, pos=1);std::cout<< dest.data()<<'\n';// BCDE     dest.fill('\0');    source.copy(dest.data(), count=42, pos=2);// ok, count -> 4std::cout<< dest.data()<<'\n';// CDEF try{        source.copy(dest.data(), count=1, pos=666);// throws: pos > size()}catch(std::out_of_rangeconst& ex){std::cout<< ex.what()<<'\n';}}

      Output:

      ABCDBCDECDEFbasic_string_view::copy: __pos (which is 666) > __size (which is 6)

      [edit]See also

      returns a substring
      (public member function)[edit]
      copies characters
      (public member function ofstd::basic_string<CharT,Traits,Allocator>)[edit]
      copies a range of elements to a new location
      (function template)[edit]
      copies one buffer to another
      (function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/string/basic_string_view/copy&oldid=171367"

      [8]ページ先頭

      ©2009-2025 Movatter.jp