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