c++ primer 课后习题12.24// 12.24.cpp : 定义控制台应用程序的入口点。
2016-03-03 15:43
561 查看
// 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;
}
相关文章推荐
- C++ typename的起源与用法
- C/C++,关键字typeof的用法
- 12.23.cpp : 定义控制台应用程序的入口点。
- C++学习笔记(1)<unfinshed>
- C++设计模式之工厂方法模式
- 谈谈C++中各种初始化方式
- [C语言] C 语言学习代码
- htonl() htons()及inet_ntoa() inet_addr()的用法
- C++语言-08-命名空间
- C++11,正则表达式应用
- C语言字符判断、大小写互转(五)
- ‘之’字形打印矩阵
- leetcode - Count of Smaller Numbers After Self
- TypeError: No to_python (by-value) converter found for C++ type:
- 浅析C++中的this指针
- C++获得主机IP地址
- C++ 运算符优先级
- c++重载、覆盖、隐藏的区别和执行方式
- 《编写高质量代码:改善C++程序的150个建议》读书笔记4
- 1089. Insert or Merge (25)