[C++ 学习] C++ Primer 习题 4.34 4.35
来源:互联网 发布:linux shell编程书籍 编辑:程序博客网 时间:2024/05/19 17:52
需要注意以下知识点:
1. 动态数组要记得 delete [] ,别忘了.
2.strcpy在拷贝的时候,已经包括最后面的 \0 了.
相当于 strncpy,不拷贝最后的 \0,然后在最后再补一个 \0
3.string::c_str() 返回的时一个 const char *,是C风格字符串的地址.
#include<iostream>#include<string>#include<vector>using std::string;using std::vector;using std::cin;using std::cout;using std::endl;int main(){string strTemp;vector<string> vecStr;//catch input string ,save them to vectorwhile(cin>>strTemp){vecStr.push_back(strTemp);}//save vector to string[] pArrconst int arr_size = vecStr.size();string *pArr = new string[arr_size];size_t i=0;for(vector<string>::iterator it = vecStr.begin();it!=vecStr.end();++it){pArr[i] = *it;i++;}delete [] pArr;//don't forget !//create array of char pArr = new string[arr_size];//relocate memeoryi = 0;for(vector<string>::iterator it = vecStr.begin();it!=vecStr.end();++it){char *p = new char[(*it).size()+1];strcpy(p,(*it).c_str());pArr[i] = p;i++;}//outputfor(i=0;i<arr_size;i++){cout << pArr[i] << endl;}delete [] pArr;//don't forget !return 0;}
- c++primer习题4.35/4.34
- c++primer 习题4.34/4.35
- C++Primer 4.34习题代码
- C++Primer学习-习题(1)
- c++primer 习题9.12
- c++primer 习题9.35
- c++primer 习题9.36
- c++primer 习题9.18
- c++primer 习题9.20
- c++primer 习题9.42
- c++primer 习题9.43
- c++primer 习题9.26
- C++Primer习题6.12
- C++primer习题6.20
- C++Primer习题9.26
- C++Primer 习题9.38
- C++Primer 习题9.39
- C++Primer习题9.40
- mongodb学习---安装
- VS2010 配置驱动开发环境
- jvm的GC相关概念及GC的监控
- forEach 遍历长度
- 单例模式
- [C++ 学习] C++ Primer 习题 4.34 4.35
- Windows7 无法连接Linux Samba 共享目录解决办法,待验证
- 介绍一个开源项目-开源blog系统-connect-web系统
- 有机会多出去走走:印度摄影师Balaji Maheshwar
- Windows上配置Code::Blocks + wxWidgets
- EL表达式
- cmd
- HDUOJ 1233 还是畅通工程(最小生成树基础)
- HTTP协议的头信息详解