iostream、fstream、sstream、string、vector、unordered_map、stack

2024-03-21 06:12

本文主要是介绍iostream、fstream、sstream、string、vector、unordered_map、stack,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • iostream

用于输入输出操作,包含了处理标准输入输出流的功能(例如,cin, cout, cerr等)。

#include <iostream>int main() {int number;std::cout << "Enter a number: ";std::cin >> number;std::cout << "You entered: " << number << std::endl;return 0;
}
  • fstream

用于文件的读写操作。它提供了ifstream(用于读取文件),ofstream(用于写入文件),和fstream(可以同时用于读写文件)类。

#include <fstream>
#include <iostream>int main() {std::ofstream outfile("example.txt");outfile << "Hello, world!" << std::endl;outfile.close();std::ifstream infile("example.txt");std::string line;while (getline(infile, line)) {std::cout << line << std::endl;}infile.close();return 0;
}
  • sstream

用于字符串的流操作。主要提供了istringstream(从string读取数据),ostringstream(向string写入数据),和stringstream(可用于读写string)类。

#include <sstream>
#include <iostream>int main() {std::stringstream ss;ss << 100 << ' ' << 200;int foo, bar;ss >> foo >> bar;std::cout << foo << ", " << bar << std::endl;return 0;
}
        while (getline(inputFile, line)) {stringstream ss(line);string token;vector<string> tokens;while (ss >> token) {tokens.push_back(token);}

  • string

提供了字符串处理功能,包括定义和操作std::string类型的对象。

#include <string>
#include <iostream>int main() {std::string str = "Hello, world!";std::cout << str << std::endl;return 0;
}
  • vector

实现了动态数组的功能,可以存储任意类型的对象,并且可以动态增长和缩小。

#include <vector>
#include <iostream>int main() {std::vector<int> vec = {1, 2, 3, 4, 5};for(int i : vec) {std::cout << i << ' ';}std::cout << std::endl;return 0;
}
  • unordered_map

提供了一种通过键来快速访问元素的方式,基于哈希表实现。它允许快速插入、删除和查找操作。

#include <unordered_map>
#include <iostream>int main() {std::unordered_map<std::string, int> map;map["one"] = 1;map["two"] = 2;std::cout << map["one"] << std::endl;return 0;
}
  • stack

实现了栈的数据结构,提供了后进先出(LIFO)的数据管理方式。

#include <stack>
#include <iostream>int main() {std::stack<int> stack;stack.push(1);stack.push(2);std::cout << stack.top() << std::endl;  // 查看栈顶元素stack.pop();                            // 移除栈顶元素std::cout << stack.top() << std::endl;return 0;

这篇关于iostream、fstream、sstream、string、vector、unordered_map、stack的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/831963

相关文章

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现

Collection List Set Map的区别和联系

Collection List Set Map的区别和联系 这些都代表了Java中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。 有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否

模拟实现vector中的常见接口

insert void insert(iterator pos, const T& x){if (_finish == _endofstorage){int n = pos - _start;size_t newcapacity = capacity() == 0 ? 2 : capacity() * 2;reserve(newcapacity);pos = _start + n;//防止迭代

string字符会调用new分配堆内存吗

gcc的string默认大小是32个字节,字符串小于等于15直接保存在栈上,超过之后才会使用new分配。

Java-数据结构-栈和队列-Stack和Queue (o゚▽゚)o

文本目录: ❄️一、栈(Stack):     ▶ 1、栈的概念:   ▶ 2、栈的使用和自实现:      ☑ 1)、Stack():       ☑ 2)、push(E e):      ☑ 3)、empty():         ☑ 4)、peek(E e):        ☑ 5)、pop(E e):       ☑ 6)、size(E e):  ▶ 3、栈自实现的总代

hdu2072(string的应用)

单词数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 25447    Accepted Submission(s): 5957 Problem Description lily的好朋友xiaoou333最近很空,他

Map

Map 是 Java 中用于存储键值对的集合接口。以下是对 Map 的详细介绍: 特点 键值对存储:每个元素包含一个键和一个值。 键唯一:键不能重复,但值可以重复。 无序/有序:根据具体实现,键值对的顺序可能无序(如 HashMap)或有序(如 TreeMap、LinkedHashMap)。 主要实现类 HashMap 基于哈希表,无序存储。 允许一个 null 键和多个 null 值。

【UVA】10739 - String to Palindrome(动态规划)

比较水的动态规划 dp[i][j] 将原串 i ~ j 之内的字符转化为回文字符所需要的最小操作次数 其中删除操作和添加操作本质上是一样的。 三个状态转移方程: dp[i][j] = min(dp[i][j] ,dp[i + 1][j]); dp[i][j] = min(dp[i][j] ,dp[i + 1][j - 1]); dp[i][j] = min(dp[i][j] ,dp[

理解String的compareTo()方法返回值

compareTo()的返回值是整型,它是先比较对应字符的大小(ASCII码顺序), 如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值。 如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符作比较, 以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度。 我们可以通过阅读源码加深对compareTo()的理解: comp

【JavaScript】基本数据类型与引用数据类型区别(及为什么String、Boolean、Number基本数据类型会有属性和方法?)

基本数据类型   JavaScript基本数据类型包括:undefined、null、number、boolean、string。基本数据类型是按值访问的,就是说我们可以操作保存在变量中的实际的值。 1)基本数据类型的值是不可变的 任何方法都无法改变一个基本类型的值,比如一个字符串: var name = "change";name.substr();//hangconsole.log