C++ String::copy() 函式



C++ 的 std::string::copy 用於將字串物件中指定數量的字元複製到字元陣列中。它接受三個引數:指向目標字元陣列的指標、要複製的字元數以及源字串中的起始位置。

此函式不會在複製內容的末尾包含空字元。

語法

以下是 std::string::copy() 函式的語法。

size_t copy (char* s, size_t len, size_t pos = 0) const;

引數

  • s − 指示指向字元陣列的指標。
  • len − 指示要複製的字元數。
  • pos − 指示要複製的第一個字元的位置。

返回值

它沒有任何返回值。

異常

如果丟擲異常,則字串不會發生任何更改。

示例 1

以下是如何使用 C++ 查詢 std::string::copy 的示例。

#include <iostream>
#include <string>
int main() {
   char buffer[20];
   std::string str("Sairamkrishna Mammahe...");
   std::size_t length = str.copy(buffer, 6, 5);
   buffer[length] = '\0';
   std::cout << "buffer contains: " << buffer << '\n';
   return 0;
}

輸出

讓我們編譯並執行以上程式,這將產生以下結果:

buffer contains: mkrish        

示例 2

在程式中,我們透過賦值初始化了 stringX1、stringX2 和 stringX5,並聲明瞭 stringX3 和 stringX4 來指示實體的存在及其位置。

#include <iostream>
#include <cstring>
using namespace std;
int main() {
   char stringX1[] = " Good morning ";
   char stringX2[] = " Tutorialspont Company ";
   char stringX3[20];
   char stringX4[20];
   char stringX5[] = " TPC ";
   strcpy(stringX2, stringX1);
   strcpy(stringX3, " Copy successful ");
   strcpy(stringX4, stringX5);
   cout << "stringX1: " << stringX1 << "\nstrigX2: " << stringX2 << " \nstringX3: " << stringX3 << " \nstringX4: " << stringX4;
   return 0;
}

輸出

如果我們執行以上程式碼,它將生成以下輸出。

stringX1:  Good morning 
strigX2:  Good morning  
stringX3:  Copy successful  
stringX4:  TPC 

示例 3

在此程式中,src 字串包含值“Tutorialspoint”,我們使用 copy() 函式將源字串複製到目標字串。

#include <iostream>
#include <string>
using namespace std;
int main() {
   string src = " Tutorialspoint";
   char dest[15];
   cout << " source string = " << src << '\n';
   src.copy(dest, sizeof src);
   cout << " destination string = " << dest;
   return 0;
}

輸出

以下是以上程式碼的輸出。

source string = Tutorialspoint
destination string = Tutorialspoint                 

示例 4

在下面的程式中,我們傳遞位置作為引數。因此,它使用 copy() 函式將字串 x 的子字串複製到字串 x1。

#include <iostream>
#include <string>
using namespace std;
int main() {
   string x = "Tutorialspoint company";
   char x1[22];
   x.copy(x1, 12, 0);
   x1[10] = '\0';
   cout << " String x1 = " << x1;
   return 0;
}

輸出

以下是以上程式碼的輸出。

String x1 = Tutorialsp               
string.htm
廣告

© . All rights reserved.