c++ getline
背景:经常需要读取图像的文件,记录一下
1.getline用法
主要用于获取string中的一行,调用时可以设置单个的分隔符;其中单个的分隔符相当于行中的ifstream中的换行符"\n",依次读取分隔的字符.
getline在c++中有两种用法:
1)作为istream的成员函数,有两种重载形式:
istream& getline (char* s, streamsize n );
istream& getline (char* s, streamsize n, char delim );
作用是: 从istream中读取至多n个字符(包含结束标记符)保存在s对应的数组中。即使还没读够n个字符,如果遇到delim或 字数达到限制,则读取终止,delim都不会被保存进s对应的数组中。
#include <iostream>
#include <string>
int main(){char name[256], wolds[256];std::cout << "Please input your name: ";std::cin.getline(name, 256); //默认遇到换行就停止std::cout<<"your name:"<<name<<std::endl;
}
2)在中的getline函数有四种重载形式:
istream& getline (istream& is, string& str, char delim);
istream& getline (istream&& is, string& str, char delim);
istream& getline (istream& is, string& str);
istream& getline (istream&& is, string& str);
返回值为istream类型:
读取的istream是作为参数is传进函数的。读取的字符串保存在string类型的str中。
函数的变量:
is :表示一个输入流,例如cin。
str :string类型的引用,用来存储输入流中的流信息。
delim :char类型的变量,所设置的截断字符;在不自定义设置的情况下,遇到’\n’,则终止输入。
#include <iostream>
#include <string>
#include <opencv2/opencv.hpp>
int main(){ifstream f("color.txt");if (!f.good()){std::cout << "Cannot open color file" << std::endl;exit(-1);}//ifstream f("color.txt");vector<cv::Scalar>color;vector<int> v;string line,number;while(std::getline(f, line)){istringstream is(line);while(std::getline(is, number, ',')){v.push_back(atoi(number.c_str()));}colors.push_back(cv::Scalar(v[0],v[1],v[2]));v.clear();}
}
c++ getline相关推荐
- C++:while(getline())函数
首先说明getline()的原型:getline(istream &is,string &str,char delim) istream &is表示一个输入流,譬如cin,st ...
- 山寨c 标准库中的getline 函数
2019独角兽企业重金招聘Python工程师标准>>> 要山寨一个函数,只要看两点 原版函数的形参. 原函数的返回值. 下面是函数原型. ssize_t getline(char * ...
- antlr.collections.AST.getLine()I问题的起因及解决
在我们的java web 项目中引入hibernate和struts,当我们使用HQL语句进行查询时会报 antlr.collections.AST.getLine()I的错误,导致程序无法继续运行, ...
- cin、getline的坑
cin.scanf 读取一个数据后,会遗留一个'\n'在后面 如果我们接着使用getline,就会把上面cin.scanf遗留下来的'\n'读入.因为getline遇到'\n'会读入结束,所以会读到一 ...
- getline简单例子
瞅一眼c++98的getline(Get line from stream into string): (1) istream& getline (istream& is, strin ...
- C++中的cin、cin.getline()、getline()函数比较
1.cin用法 用法1:输入一个数字或字符 // cin用法// 用法1:输入一个数字或字符int a, b;cin >> a >> b;cout << a + b ...
- C++中getline()函数
我的技术博客:www.cnblogs.com/overcode 学习C++的同学可能都会遇到一个getline()函数,譬如在C++premer中,标准string类型第二小节就是"用get ...
- C++中getline()的用法
getline()用法 getline是C++标准库函数:它有两种形式,一种是头文件< istream >中输入流成员函数:一种在头文件< string >中普通函数: 它遇到 ...
- getline及读文件总结
今天由华为软件精英挑战赛的要求,读文件这块自己进行了总结,主要是泛型以及关联容器这块需要加强,现在总结了读文件的iterator的用法. 1.iterator inserter(essential C ...
- C++中getline函数的使用
代码: 1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 6 int main(){ 7 ...
最新文章
- validate插件深入学习-01 小白从看透一个插件开始
- 企业部署Windows 7指南
- JDK7与JDK8中HashMap的实现
- PHP去除换行符的方法小结(PHP_EOL变量的使用)
- ubuntu修改pip的官方源为豆瓣源
- web服务优化与健壮性改进_创建健壮的微服务架构所涉及的组件
- [css] 说说你对CSS样式覆盖规则的理解
- WP之Sql Server CE数据库
- python是动态语言_Python是动态语言:动态添加或删除属性、方法
- bug1-tensorflow中自定义模型的bug-input_signature
- HTML5期末大作业:学校网站设计——初级中学网站(16页)HTML+CSS+JavaScript 学校网页设计作业 网页设计作业 学生个人设计成品,网页设计作业
- 云服务器部署网易云音乐API(node.js)
- 数据挖掘—GEO,TCGA,Oncomine联合(三)GEO数据的下载和数据质量分析
- Critical Reviews | 南农邹建文组综述全球农田土壤抗生素与耐药基因分布
- MMdetection中backbone的实现-MobileNetV2
- 让犯罪有迹可寻,区块链存证被最高人民法院认可
- 分布式事务详解(看完不懂我当场认做你哥)
- Golang Break、Continue跳出多层循环
- STM32CubeMX安装及使用教程(一)
- Microsoft Office 2003 SP3 龙卷风版 V2.3高速下载
热门文章
- doubleTwist是iTunes的替代产品,支持多种设备
- php 正则表达式 环视,深入理解正则表达式高级教程
- Delphi 10.4利用CreateMutex函数创建互斥对象实例防止程序中多次执行该对象
- 软件工程-系统需求获取技术、结构化需求建模和系统设计(上)
- android 动态contextmenu,Android中ContextMenu用法实例
- day02-移动web(空间转换)
- 计算机语言的分类:编译型/解释型、动态类型/静态类型、强类型/弱类型
- 安卓获取系统照片 (Kotlin)
- 【报告分享】2021中国新能源车险生态共建白皮书-艾瑞咨询(附下载)
- uniapp 使用秋云uCharts图表组件、echarts图表组件