
C/C++
以梦为马
晚风吻尽荷叶
道阻且长,行且将至。
展开
-
解决multimap中key对应了多个value,那么怎样才能将它对应的value一一输出
在multimap中,同一个键关联的元素必然相邻存放。基于这个事实,就可以将某个键(key)对应的值(value)一一输出。1、使用find和count函数。count函数求出某个键出现的次数,find函数返回一个迭代器,指向第一个拥有正在查找的键的实例。2、使用lower_bound(key)和upper_bound(key)lower_bound(key)返回一个迭代器,指向键为key的第一个元素upper_bound(key)返回一个迭代器,指向键为key的最后...原创 2020-09-09 14:32:09 · 2040 阅读 · 0 评论 -
解决使用freopen读取多个文件时产生的的问题
读取单一文件使用 freopen重定向。用 getline逐行读取,处理。#include <iostream>#include <cstdio>#include <cstring>using namespace std;string s;int main(){ freopen("text1.in", "r", stdin); while (getline(cin, s)) { /* - code - */ } fclose(st转载 2020-08-19 21:46:30 · 2447 阅读 · 1 评论 -
C/C++ int 和 string 相互转换
目录一、int转string① sprintf()② itoa()③ to_string()④ stringstream 字符串流二、string转int① sscanf()② atoi()③ stoi()④ stringstream 字符串流一、int转string① sprintf()/** * #include <stdio.h> * 语法:int sprintf( char *buffer, const char *format,原创 2020-08-05 21:58:36 · 5062 阅读 · 1 评论 -
sscanf()与sprintf()
①sscanf()语法: #include <stdio.h> int sscanf( const char *buffer, const char *format, ... ); 函数sscanf()和scanf()类似, 只是输入从buffer(缓冲区)中读取./* sscanf example */#include <stdio.h>int main (){ char sentence []="Rudolph is 12 .原创 2020-08-05 19:26:54 · 399 阅读 · 0 评论 -
lamda表达式
C++ lamda表达式 lamda表达式是C++11中的新特征,说白了就是匿名函数。lambda表达式的具体形式如下: [capture list] (params list) mutable exception-> return type { function body }例:各项具体含义如下capture list:捕获外部变量列表,即需要用到的外部变量。 params list:形参列表 mutable指示符:用来说...转载 2020-07-28 14:50:38 · 1370 阅读 · 2 评论 -
for_each()、for(auto a:b)用法总结
一、std::for_each用于遍历STL容器,定义于头文件 <algorithm>语法: template <class InputIterator, class Function> Function for_each (InputIterator first, InputIterator last, Function fn); 将函数 fn 应用于[first,last)范围内的每个元素。参数:first,last 迭代器序.原创 2020-07-28 13:55:36 · 1699 阅读 · 0 评论 -
C++ string使用小结
一、常用函数Constructors 构造函数,用于字符串初始化 Operators 操作符,用于字符串比较和赋值 append() 在字符串的末尾添加文本 assign() 为字符串赋新值 at() 按给定索引值返回字符 begin() 返回一个迭代器,指向第一个字符 c_str() 将字符串以C字符数组的形式返回 capacity() 返回重新分配空间前的字符容量 compare() 比较两个字符串 copy.原创 2020-07-25 22:59:31 · 546 阅读 · 0 评论 -
memest 用法小结
memset作用: 在一段内存块中填充某个给定的值,它是对较大的结构体结构体或数组进行清零操作的一种最快方法。语法: #include <string.h> void *memset( void *buffer, int ch, size_t count ); 功能: 函数拷贝ch 到buffer 从头开始的count 个字符里, 并返回buffer指针。 memset() 可以应用在将一段内存初始化为某个值。例如:...原创 2020-07-25 17:45:54 · 1311 阅读 · 0 评论 -
%*s ,%.s ,%.*.s详解
取决于在scanf中使用还是在printf中使用。(1)在scanf中使用在scanf中使用,则添加了*的部分会被忽略,不会被参数获取。比如 %*d 就是读一个 %d 该读的东西,但不赋值给任何变量。int index_t = 1;scanf("%*d", &index_t);printf("%d", index_t); //无论你怎么输入 获得的值都为1int index_t = 1;scanf("%d", &index_t);printf("%..原创 2020-07-25 00:23:37 · 10250 阅读 · 0 评论