📄 fig19_09.cpp
字号:
// Fig. 19.9: fig19_09.cpp
// Converting to C-style strings.
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s( "STRINGS" );
const char *ptr1 = 0;
int len = s.length();
char *ptr2 = new char[ len + 1 ]; // including null
// Assign to pointer ptr1 the const char * returned by
// function data(). NOTE: this is a potentially dangerous
// assignment. If the string is modified, the pointer
// ptr1 can become invalid.
ptr1 = s.data();
// copy characters out of string into allocated memory
s.copy( ptr2, len, 0 );
ptr2[ len ] = 0; // add null terminator
// output
cout << "string s is " << s
<< "\ns converted to a C-Style string is "
<< s.c_str() << "\nptr1 is ";
for ( int k = 0; k < len; ++k )
cout << *( ptr1 + k ); // use pointer arithmetic
cout << "\nptr2 is " << ptr2 << endl;
delete [] ptr2;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -