boost中circular_buffer存储字符串的使用示例
2013-09-09 13:06
411 查看
#include <boost/circular_buffer.hpp>
using namespace boost;
#define CIRCUALR_BUFFER_SIZE 1024*1024*1 //2MB
int main()
{
boost::circular_buffer<char> cb(5);
cb.push_back('a');
cb.push_back('b');
char ch[20] = {0};
strcpy(ch,"helloworl2");
int nSize = strlen(ch);
cb.insert(cb.end(),&ch[0],&ch[nSize]);//使用尾插法
cout << "begin: " <<*(cb.begin() + 6%cb.size()) <<endl;//使用迭代器不能超出circular_buffer的大小
cout <<"end: " <<*(cb.end()-1) <<endl; //最后一个元素的位置为end()-1
std::string str2;
str2.append(cb.begin(),cb.end()); //将circular_buffer中的数据全部保存到string中
cout << str2 <<endl;
return 0;
}
using namespace boost;
#define CIRCUALR_BUFFER_SIZE 1024*1024*1 //2MB
int main()
{
boost::circular_buffer<char> cb(5);
cb.push_back('a');
cb.push_back('b');
char ch[20] = {0};
strcpy(ch,"helloworl2");
int nSize = strlen(ch);
cb.insert(cb.end(),&ch[0],&ch[nSize]);//使用尾插法
cout << "begin: " <<*(cb.begin() + 6%cb.size()) <<endl;//使用迭代器不能超出circular_buffer的大小
cout <<"end: " <<*(cb.end()-1) <<endl; //最后一个元素的位置为end()-1
std::string str2;
str2.append(cb.begin(),cb.end()); //将circular_buffer中的数据全部保存到string中
cout << str2 <<endl;
return 0;
}
相关文章推荐
- boost中circular_buffer存储字符串的使用示例
- 使用boost::circular_buffer_space_optimized实现OTL数据库连接池
- 使用boost::circular_buffer_space_optimized实现OTL数据库连接池
- boost中circular_buffer库使用,接口和STL中的deque,list类似
- 一个使用boost::thread_specific_ptr线程本地存储的示例,value将不受其它线程影响
- 使用boost::circular_buffer_space_optimized实现OTL数据库连接池
- 环形缓冲区-boost circular buffer & 读写锁(shared_mutex)
- [Boost]_[使用boost正则表达式查找所有字符串]
- boost::circular_buffer
- 环形缓冲区,魔戒lordrings,boost的circular_buffer
- C++常用字符串处理函数及使用示例
- C++中string型字符串的使用示例
- Boost 之circular_buffer
- C++常用字符串处理函数及使用示例
- html5本地存储之localstorage 、本地数据库、sessionStorage简单使用示例
- boost使用split分割字符串
- JS中字符串trim()使用示例
- msSQL存储过程中使用 IF ELSE 的规范示例
- 使用boost::regex_search进行字符串提取
- 使用std流打印16进制字符串示例