// 12.24.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <memory>
#include <string>
#pragma warning( disable : 4996)
using namespace std;
int main()
{
string str;
cout << "请输入一个字符串:";
cin >> str;
char *cp = new char[str.size() + 1]; // 这地方一定要加1,不然delete [] cp 的时候会出错。
// 由于str.c_str() 返回一个以 '\0' 结尾的C 风格字符串,所以实际长度比 str.size()长。
strcpy(cp, str.c_str()); //这里调用了 string 对象的 c_str() 来返回一个C 风格字符串。
// _ASSERTE(_CrtCheckMemory()); //百度一下有个大神说可以用这来检查我下面说的的错误。
cout << cp << endl;
delete[] cp;
return 0;
}
//
#include "stdafx.h"
#include <iostream>
#include <memory>
#include <string>
#pragma warning( disable : 4996)
using namespace std;
int main()
{
string str;
cout << "请输入一个字符串:";
cin >> str;
char *cp = new char[str.size() + 1]; // 这地方一定要加1,不然delete [] cp 的时候会出错。
// 由于str.c_str() 返回一个以 '\0' 结尾的C 风格字符串,所以实际长度比 str.size()长。
strcpy(cp, str.c_str()); //这里调用了 string 对象的 c_str() 来返回一个C 风格字符串。
// _ASSERTE(_CrtCheckMemory()); //百度一下有个大神说可以用这来检查我下面说的的错误。
cout << cp << endl;
delete[] cp;
return 0;
}