![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL标准模板库
Augusdi
让时间验证一切,让时间验证我。感谢大家的无私帮助,我愿以同样的态度回馈我热情的朋友,用我们的热忱开创美好未来!
展开
-
C++读二进制文件 及 C++设置double精度
C++设置double精度#include cout setiosflags(ios::fixed) setprecision(2) m "%" endl;*******************************************************************************************************************转载 2017-04-20 13:04:29 · 5506 阅读 · 0 评论 -
VS2005 FSTREAM 不能打开中文路径名文件的问题!
VS2005 FSTREAM 不能打开中文路径名文件的问题!公司有一个项目从vs2003移植到vs2005之后老是出现runtim error经过排查最终定位在fstream 打开"含中文路径"的文件时候会出现fail的情况本来不相信vs2003过渡到2005会有这个问题,但是经过试验确证实了该问题我新建立一个exe来测试该问题#include "stdafx.h"#include "testi转载 2013-01-05 10:15:46 · 2371 阅读 · 0 评论 -
c++格式化输入输出
cin与cout 一:标准输入函数cin 不知道说它是个函数对还是不对,它是代表标准的输入设备--键盘。他是属于流的,他的用法和流的用法是一样的。也就是:cin>>变量; 小小的说明一下,输入多个变量可以写在一行,如:cin>>x>>y>>z; 这样写不是不允许,而是不好看,如果是不同的变量类型,那就更是没头没脑了。除了你,人家是不知道该输入什么的,所以,一般在输入语句的前面,我们一般原创 2012-12-18 09:09:26 · 5405 阅读 · 2 评论 -
C++ string资料
C++ string资料一 之所以抛弃char *的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。首先,为了在我们的程序中使用s原创 2012-09-06 09:04:19 · 2194 阅读 · 0 评论 -
STL中的排序算法一览
STL中有多种排序算法,各有各的适用范围,下面听我一一道来:I、完全排序sort() 首先要隆重推出的当然是最最常用的sort了,sort有两种形式,第一种形式有两个迭代器参数,构成一个前开后闭的区间,按照元素的 less 关系排序;第二种形式多加一个指定排序准则的谓词。sort基本是最通用的排序函数,它使用快速排序算法,并且在递归过程中,当元素数目小于一个阈值(一般是16,我的试验是24)时,转转载 2012-07-28 16:53:16 · 1797 阅读 · 0 评论 -
STL vector用法介绍
介绍这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。 Vector总览vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的转载 2011-12-20 20:52:40 · 1805 阅读 · 0 评论 -
利用STL函数swap进行vector内的数据交换
#include #include #include #include using namespace std;int main(int argc, char* argv[]){ vector vTest; vTest.push_back( "a "); vTest.push_back( "b ");原创 2011-12-20 20:55:51 · 14078 阅读 · 0 评论 -
Streams
Input and output. Except for binary I/O, this amounts to mapping objects from and to sequences of characters. I/O is implemented in C++ with a special set of classes. It is made to be type safe and ex转载 2011-12-12 10:25:39 · 2020 阅读 · 0 评论 -
ofstream ifstream 文件操作
c++中输出和输入导屏幕和键盘的类别声明包含再标题文件中,而磁盘类文件的 I/O则声明再包含标题文件内。输入和输出格式:输出到磁盘 ofsteam 识别字(“文件名”) 从磁盘读文件 ifsteam 识别字("文件名“)例如: ofstream outfile("data.txt"); //写入到磁盘的data.txt中格式化输入输出:1 整数数据的输入输出整数数据存储再磁盘内,每个文字各占一转载 2011-12-09 15:43:32 · 2493 阅读 · 0 评论 -
详解文件操作(ifstream、ofstream、fstream)
转载地址:http://hi.baidu.com/flobert_young/blog/item/7408ce0f50b3b2e8ab645790.htmlC++ 通过以下几个类支持文件的输入输出:ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstream: 可同时读写操作的文件类 (由iostr转载 2011-12-09 15:40:23 · 1715 阅读 · 0 评论 -
fstream ofstream unicode
/******************************************************************** created: 2008/05/10 created: 10:5:2008 23:56 filename: k:/sj/fstreamTest/fstreamTest/main.cpp file转载 2013-01-05 10:19:57 · 1806 阅读 · 0 评论 -
STL中用ERASE()方法遍历删除元素
STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector 、deque);另一类是以不连续的节点形式存储的容器(如:list、set、map)。在使用erase方法来删除元素时,需要注意一些问题。 在使用 list、set 或 map遍历删除某些元素时可以这样使用:正确使用方法1 std::list List; std::list::itera转载 2013-01-29 14:54:10 · 1491 阅读 · 0 评论 -
ofstream和ifstream详细用法
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(2、析取器(>>) 从流中输入数据。比如说系统有一个默认的标准输入流(cin),一般情况下就是指的键盘,所以,cin>>x;就表示从标准输入流中读取一原创 2013-04-28 21:55:58 · 37308 阅读 · 2 评论 -
std::remove_if 介绍
remove_if 可以这样理解前两个参数: 给他一个迭代的起始位置和这个起始位置所对应的停止位置。 例如下方函数中的 str.begin(), str.end()最后一个参数: 传入一个回调函数,如果 回调函数函数返回真,则将当前所指向的参数,移到尾部(不稳定的数据移动)例如 下方的 Lambda 表达式 如果 n == find_str 这条命题为真则执行操作。返回值: 被移转载 2017-03-16 13:57:25 · 4444 阅读 · 0 评论 -
stringstream 的.str()正确用法和清空操作
转载自:http://dewei.iteye.com/blog/1940786streamstring在调用str()时,会返回临时的string对象。而因为是临时的对象,所以它在整个表达式结束后将会被析构。如果需要进一步操作string对象,先把其值赋给一个string变量后再操作。stringstream ss("0123456789012345678901234567890123456789转载 2015-10-26 23:44:31 · 2287 阅读 · 0 评论 -
CString, int, string, char* 之间的转换
1 CString,int,string,char*之间的转换 string 转 CString CString.format("%s", string.c_str()); char 转 CString CString.format("%s", char*); char 转 string string s(char *); string 转 char * char *p = str原创 2014-06-30 11:46:57 · 1679 阅读 · 0 评论 -
C++中替代sprintf的std::ostringstream输出流详解
一、简单介绍ostringstream是C++的一个字符集操作模板类,定义在sstream.h头文件中。ostringstream类通常用于执行C风格的串流的输出操作,格式化字符串,避免申请大量的缓冲区,替代sprintf。派生关系图:二、ostringstream的基本使用ostringstream的构造函数形式:explicit ostringstream ( openmode which =转载 2014-06-10 14:49:21 · 15796 阅读 · 1 评论 -
ifstream打开含中文路径文件时失败的问题
最近写程序的时候遇到了使用ifstream打开含中文路径文件时失败的问题,在网上翻了一下,发现这是一个普遍遇到的问题,在很多人的博文中也都给出了一些解决技巧,但大多是转载的东西,很少对这个问题引发的原因有一个清晰、全面的解释。因此,我觉得有必要对该问题引发的原因作一个详细的剖析,希望对遇到同样问题的朋友们能有所帮助。 首先,用一个简单的例子来重现一下我所遇到的问题: (1)在VS2005的“Pro转载 2013-10-09 09:33:37 · 2149 阅读 · 0 评论 -
算法 <algorithm>中各种算法解析
一,巡防算法 for_each(容器起始地址,容器结束地址,要执行的方法)#include #include #include using namespace std; template struct plus2 { void operator()(T&x)const { x+转载 2013-10-08 21:23:41 · 2495 阅读 · 0 评论 -
Tokenize a string
Using CThis example uses the strtok() function to separate the tokens. This function is destructive (replacing token separators with '\0'), so we have to make a copy of the string (using strdup()) bef原创 2013-05-08 16:16:37 · 3562 阅读 · 0 评论 -
c++中STL排序算法程序
// paixu.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "iostream"#include "vector"#include using namespace std;struct student{ string name; int score;};bool compa原创 2013-04-28 22:05:33 · 2091 阅读 · 0 评论 -
C++ Stream I/O
C++ Stream I/OStream Input/OutputStream I/O ApplicationsStream Output ConceptStream Input ConceptUsing C++ ObjectsStandard Output StreamStandard Output Stream, Cont.Formatted OutputStandard Input Stre转载 2011-12-12 10:11:51 · 3829 阅读 · 0 评论 -
istringstream, ostringstream, stringstream用法示例
#include #include #include using namespace std;int main(){ int a, b; string Str1, Str2; string Input = "abc 123 bcd 456 sss 999"; //ostringstream 对象用来进行格式化的输出,可以方便的将各种类型转换为string类型 /转载 2011-12-12 10:02:48 · 2076 阅读 · 0 评论 -
map 使用
<br /> map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。<br /> 下面举例说明什么是一对一的数据映射。比如一个班级中,每转载 2010-10-28 16:00:00 · 1617 阅读 · 0 评论 -
STL中的sort排序
<br />0 前言: STL,为什么你必须掌握<br />对于程序员来说,数据结构是必修的一门课。从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来。幸运的是这些理论都已经比较成熟,算法也基本固定下来,不需要你再去花费心思去考虑其算法原理,也不用再去验证其准确性。不过,等你开始应用计算机语言来工作的时候,你会发现,面对不同的需求你需要一次又一次去用代码重复实现这些已经成熟的算法,而且会一次又一次陷入一些由于自己疏忽而产生的bug中。这时,你想找一种工具,已经帮你实现这些转载 2010-10-28 13:06:00 · 1772 阅读 · 0 评论 -
STL容器map的一段代码
/////////////////////////////////////////////////// 运行 cpl.bat 编译,生成 a.exe 文件,运行它。// Write by MMT Studio// 2005.01.14/////////////////////////////////////////////////#include #include #include #include using namespace std;typedef ma原创 2010-08-08 12:30:00 · 1718 阅读 · 0 评论 -
STL中map用法详解
<br />STL中map用法详解<br /> <br />说明:如果你具备一定的C++ template知识,即使你没有接触过STL,这个文章你也应该可能较轻易的看懂。本人水平有限,不当之处,望大家辅正。<br />一.Map概述<br />Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建转载 2010-08-08 12:23:00 · 1505 阅读 · 0 评论 -
详细解说 STL 排序 Sort
<br /> <br />详细解说 STL 排序<br />0 前言: STL,为什么你必须掌握<br />对于程序员来说,数据结构是必修的一门课。从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来。幸运的是这些理论都已经比较成熟,算法也基本固定下来,不需要你再去花费心思去考虑其算法原理,也不用再去验证其准确性。不过,等你开始应用计算机语言来工作的时候,你会发现,面对不同的需求你需要一次又一次去用代码重复实现这些已经成熟的算法,而且会一次又一次陷入一些由于自己疏忽转载 2010-08-08 12:17:00 · 1593 阅读 · 0 评论 -
详细解说 STL string
<br />详细解说 STL string <br />Linux 发表于 2005-10-9 14:30:49 <br /> <br /> <br /> <br />前言: string 的角色 <br />1 string 使用 <br />1.1 充分使用 string 操作符 <br />1.2 眼花缭乱的 string find 函数 <br />1.3 string insert, replace, erase 2 string 和 C 风格字符串转载 2010-08-08 12:13:00 · 3864 阅读 · 0 评论 -
走近 STL
<br />走近 STL <br /> <br />作者:陶汉军 <br />中国石油大学 计算机 02-2 <br /> <br /> 本文面向的读者:学习过 C++程序设计语言(也就是说学习过 Template),但是还没有<br />接触过 STL 的 STL 的初学者。这实际上是我学习 STL 的一篇笔记,老鸟就不用看了。 <br /> <br />什么是泛型程序设计 <br /> 我们可以简单的理解为:使用模板的程序设计就是泛型程序设计。就像我们我们可以简<br />单的理解面向对象转载 2010-08-08 12:07:00 · 1738 阅读 · 0 评论 -
详细解说 STL 排序(Sort)
详细解说 STL 排序(Sort)作者Winter • 详细解说 STL 排序(Sort) o 0 前言: STL,为什么你必须掌握 o 1 STL提供的Sort 算法 1.1 所有sort算法介绍 1.2 sort 中的比较函数 1.3 sort 的稳定性 1.4 全排序 1.5 局部排序 1.6 nth_element 指定元素排序 1.7 partition 和stable_partition o 2 Sort 和容器 o转载 2010-08-08 11:58:00 · 1674 阅读 · 0 评论 -
STL实践指南 Practical Guide to STL
STL实践指南 Practical Guide to STL作者:Jeff Bogan 翻译:周翔译者注这是一篇指导您如何在Microsoft Visual Studio下学习STL并进行实践的文章。这篇文章从STL的基础知识讲起,循序渐进,逐步深入,涉及到了STL编写代码的方法、STL代码的编译和调试、命名空间(namespace)、STL中的ANSI / ISO字符串、各种不同类型的容器(container)、模板(template)、游标(Iterator)、算法(Algorithms)、分配转载 2010-08-08 11:42:00 · 1679 阅读 · 0 评论 -
STL String的使用
STL String的使用<br /> 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。<br />好了,进入正题………<br />首先,为了在我们的程序中使用string类型,我们必须包含头文件 。如下:<br /转载 2011-03-31 14:08:00 · 1745 阅读 · 0 评论 -
C++迭代器 iterator
1. 迭代器(iterator)是一中检查容器内元素并遍历元素的数据类型。(1) 每种容器类型都定义了自己的迭代器类型,如vector:vector::iterator iter;这条语句定义了一个名为iter的变量,它的数据类型是由vector定义的iterator类型转载 2011-07-09 17:52:20 · 1386 阅读 · 0 评论 -
C++ STL中迭代器介绍
迭代器 迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围。迭代器就如同一个指针。事实上,C++的指针也是一种迭代器。但是,迭代器不仅仅是指针,因此你不能认为他们一定具有地址值。例如,一个数组索引,也可以认为是一种迭代器。转载 2011-07-09 16:28:18 · 1779 阅读 · 0 评论 -
stringstream的用法
stringstream的用法 Posted on 2007-07-13 19:47 Shuffy 阅读(872) 评论(4) 编辑 收藏 引用 所属分类: VC++/C/C++/C#浏览集合 -->【本文来自】http://www.builder.com.cn/2003/0304/83250.shtmlhttp://www.cppblog.com/alantop/archive/2007/0转载 2011-12-09 16:18:06 · 1538 阅读 · 0 评论 -
fstream和ifstream详细用法
ofstream和ifstream详细用法 ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器( 2、析取器(>>) 从流中输入数据。比如说系统有一个默认的标准输入流(cin)原创 2009-09-12 14:21:00 · 14211 阅读 · 7 评论 -
VC6 STLport-5.1.4 编译,安装
VC6 STLport-5.1.4 编译,安装先将Microsoft Visual Studio\VC98\Bin的目录添加到PATH环境变量中1. 开启命令行窗口,建立VC环境, 执行 %MSVCDir%\VC98\Bin\VCVARS32.BAT2. 切换到 %S转载 2011-08-15 10:57:00 · 1562 阅读 · 0 评论 -
在GCC和Visual Studio中使用hash_map
在GCC和Visual Studio中使用hash_map 熟悉STL或熟悉ACM/ICPC的话,其中的set, map, multiset, multimap一定用过无数次了,它们都是用平衡二叉树(红黑树)实现的,复杂度为O(lgn)。我们也知道s转载 2011-08-05 09:23:04 · 3349 阅读 · 1 评论 -
C++中map和hash_map的区别
C++中map和hash_map的区别这里列几个常见问题,应该对你理解和使用hash_map比较有帮助。1 hash_map和map的区别在哪里?构造函数。hash_map需要hash函数,等于函数;map只需要比较函数(小于函数).原创 2011-08-05 09:15:15 · 2292 阅读 · 0 评论