다음을 통해 공유


basic_string::data

내용을 문자열을 문자 배열로 변환합니다.

const value_type *data( ) const;

반환 값

문자열 또는 빈 배열 이름을 사용할 수 없습니다 null 포인터에 대 한 내용을 포함 하는 배열의 첫 번째 요소에 대 한 포인터입니다.

설명

C + + 템플릿 클래스 basic_string <char>에 속하는 문자열 형식의 개체 종료는 반드시 null입니다.반환 형식에 대 한 데이터 null 문자가 추가 가져옵니다 때문에 올바른 C-문자열입니다.Null 문자가 '\ 0' C 문자열에 특수 문자가 문자열의 끝을 표시 하는 문자열 형식의 개체에는 특별 한 의미가 없습니다 있고 같은 다른 문자는 문자열 개체의 일부일 수 있습니다.

Const는 자동 변환할 수 char * 문자열이 있지만 문자열에 클래스에 대 한 자동 변환은 C 스타일 문자열 형식의 개체를 제공 하지 않습니다 basic_string <char>.

이 문자열에 대 한 포인터를 무효화할 수 있는 제한 된 수명이 문자열과 문자열 클래스를 소유 하 고 있으므로 삭제할 때문에 반환 되는 문자열을 변경 하면 안됩니다.

예제

// basic_string_data.cpp
// compile with: /EHsc
#include <string>
#include <iostream>

int main( ) 
{
   using namespace std;

   string str1 ( "Hello world" );
   cout << "The original string object str1 is: " 
        << str1 << endl;
   cout << "The length of the string object str1 = " 
        << str1.length ( ) << endl << endl;

   // Converting a string to an array of characters
   const char *ptr1 = 0;
   ptr1= str1.data ( );
   cout << "The modified string object ptr1 is: " << ptr1 
        << endl;
   cout << "The length of character array str1 = " 
        << strlen ( ptr1) << endl << endl;

   // Converting a string to a C-style string
   const char *c_str1 = str1.c_str ( );
   cout << "The C-style string c_str1 is: " << c_str1 
        << endl;
   cout << "The length of C-style string str1 = " 
        << strlen ( c_str1) << endl << endl;
}
  

요구 사항

헤더: <string>

네임 스페이스: std

참고 항목

참조

basic_string Class