「std::string::data」の版間の差分

提供: C++入門
移動: 案内検索
(ページの作成:「std::string::data() とは、std::stringのメンバ関数でstringオブジェクトの現在の値をヌルターミネートされたキャラクタシーク...」)
 
(相違点なし)

2014年2月1日 (土) 19:55時点における最新版

std::string::data() とは、std::stringのメンバ関数でstringオブジェクトの現在の値をヌルターミネートされたキャラクタシークエンス(C-string)の配列へのポインタを返します。

読み方

std::string::data
えすてぃーでぃー すとりんぐ でーた

概要

C++11では、std::string::datastd::string::c_strは、同意語で、同じ値を返します。

std_string_data1.cpp の例

ソースコード std_string_data1.cpp

#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main(int argc, char const* argv[])
{
        string s1;
        //           12 34 56
        s1 = string("a\0b\0c\0", 6);
        const char *p = NULL;
        p = s1.c_str();
        for(int i = 0; i < 6; i++) {
                cout << i << ": " << p[i] << endl;
        }
        cout << endl;
 
        p = s1.data();
        for(int i = 0; i < 6; i++) {
                cout << i << ": " << p[i] << endl;
        }
        cout << endl;
 
        cout << s1.length() << endl;
        cout << s1.c_str() << endl;
        cout << s1.data() << endl;
        return 0;
}

コンパイル

g++  std_string_data1.cpp -o std_string_data1

実行例

% ./std_string_data1
0: a
1:
2: b
3:
4: c
5:
 
0: a
1:
2: b
3:
4: c
5:
 
6
a
a

関連項目

メンバ関数
メンバ関数 説明
constructor 文字列オブジェクトのコンストラクタ。stringの初期化について説明します。
destructor 文字列オブジェクトのデストラクタ
operator= 文字列の割り当て。stringへの代入について説明します。
文字列操作
メンバ関数 説明
std::string::c_str C文字列を取得する
std::string::data 文字列データを取得する
std::string::substr 部分文字列の生成