news 2026/4/23 21:21:20

【getline 、 cin.getline、stringstream 】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【getline 、 cin.getline、stringstream 】

getline 、 cin.getline、stringstream

getline 与 cin.getline 的区别

getline (来自<string>库)

  • 用于读取输入流中的一行数据,存储到std::string对象中。
  • 语法:getline(istream& is, string& str, char delim),其中delim是可选的分隔符(默认为'\n')。
  • 动态调整string的大小以适应输入内容。
  • 示例:
#include<string>#include<iostream>usingnamespacestd;intmain(){string line;getline(cin,line);// 读取整行,包括空格cout<<line;}

cin.getline (来自<iostream>库)

  • 用于读取输入流中的一行数据,存储到 C 风格字符数组(char[])中。
  • 语法:cin.getline(char* s, streamsize n, char delim)n指定最大读取长度(包括终止符'\0')。
  • 固定缓冲区大小,可能因输入过长导致截断或错误。
    n:就是一个变量名,一般表示要读取 / 写入的字符数或字节数。
  • 示例:
#include<iostream>usingnamespacestd;intmain(){charbuffer[100];cin.getline(buffer,100);// 读取最多 99 个字符cout<<buffer;}

关键区别

  • 存储类型getlinestringcin.getlinechar[]
  • 安全性getline自动管理内存,cin.getline需手动分配缓冲区。
  • 灵活性getline支持动态扩展,cin.getline受固定大小限制。

stringstream 的使用方法

stringstream(来自<sstream>库)用于将字符串视为流,支持类似cin/cout的操作,常用于字符串分割或类型转换。

基本用法

#include<sstream>#include<string>usingnamespacestd;intmain(){string data="123 3.14 hello";stringstreamss(data);// 初始化intnum;doublepi;string text;ss>>num>>pi>>text;// 提取数据cout<<num<<" "<<pi<<" "<<text;}

字符串分割

string input="apple,orange,banana";stringstreamss(input);string token;while(getline(ss,token,',')){// 按逗号分割cout<<token<<endl;}

去除字符串中的空格

#include<iostream>#include<sstream>#include<string>#include<vector>intmain(){std::string input="Hello World This is a test";std::istringstreamiss(input);std::vector<std::string>tokens;std::string token;while(iss>>token){tokens.push_back(token);}return0;}

类型转换

string numStr="42";stringstreamss(numStr);intnum;ss>>num;// 字符串转整数
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 21:21:14

Spring AI 框架介绍 - Advisor

目录&#xff1a; Spring AI 框架介绍 Spring AI 框架介绍 - Advisor Spring AI 框架介绍 - 上下文记忆 SpringAI 框架介绍 - 工具调用 Spring AI 对话模型 Spring AI 图像模型 LLM 工具与 RAG 原理 AI Code Review 工具 Advisors API 正如前文介绍&#xff0c;Spring AI 中…

作者头像 李华
网站建设 2026/4/23 21:19:48

python deque

# Python deque&#xff1a;看似简单却藏着不少门道 很多人刚开始接触Python时&#xff0c;list几乎是万能的。装数据、切片、append、pop&#xff0c;用起来顺手得很。但当你开始处理大量数据&#xff0c;特别是需要在队列两端频繁操作时&#xff0c;list的真相就慢慢浮出来了…

作者头像 李华
网站建设 2026/4/23 21:18:42

机载侧视SAR雷达成像仿真系统完整解析

机载侧视SAR雷达成像仿真系统完整解析 文档说明 本文档完整解析了机载/侧视SAR&#xff08;合成孔径雷达&#xff09;二维雷达成像仿真系统的全流程&#xff0c;涵盖仿真核心原理、数据生成、信号处理、图像评估全链路&#xff0c;适合雷达算法学习、仿真逻辑理解、项目文档编写…

作者头像 李华