C++ String轉字符數組


#include <bits/stdc++.h>

using namespace std;

int main(void)
{
    /*
    C++ 字符串轉話字符數組
    s.c_str():
        此方法生成的字符數組是臨時的指針,指向的內容容易失效
        當有一個改變這些數據的成員函數被調用后,其中的數據就會失效
        使用時應該先轉換,把它的數據復制到用戶自己可以管理的內存中。
        因此使用strcpy();
        copy(p,n,size_type _Off = 0):
            1 從string類型對象中至多復制n個字符到字符指針p指向的空間中。
            2 默認從首字符開始,但是也可以指定,開始的位置(記住從0開始)。返回真正從對象中復制的字符。------用戶要確保p指向的空間足夠保存n個字符。
            3   __s –將值復制到的C字符串。
                __n –要復制的字符數。 
                __pos –要復制的第一個字符的索引。
    */  
    char *c = new char[20];
    char *c2 = new char[20];

    string s = "hello";
    // c = s.c_str();
    // cout << c << endl;
    // s = "world";
    // cout << c << endl;
   // strcpy(c, s.c_str());
    cout << c << endl;

    // s.copy(c, 0, 2);
    // s.copy(c, 2, 2);
    s.copy(c, 2, 1);
    s.copy(c2, 0, 2);

    cout << c << " " << c2;
    system("pause");
    return 0;

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM