背景:经常需要读取图像的文件,记录一下

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相关推荐

  1. C++:while(getline())函数

    首先说明getline()的原型:getline(istream &is,string &str,char delim) istream &is表示一个输入流,譬如cin,st ...

  2. 山寨c 标准库中的getline 函数

    2019独角兽企业重金招聘Python工程师标准>>> 要山寨一个函数,只要看两点 原版函数的形参. 原函数的返回值. 下面是函数原型. ssize_t getline(char * ...

  3. antlr.collections.AST.getLine()I问题的起因及解决

    在我们的java web 项目中引入hibernate和struts,当我们使用HQL语句进行查询时会报 antlr.collections.AST.getLine()I的错误,导致程序无法继续运行, ...

  4. cin、getline的坑

    cin.scanf 读取一个数据后,会遗留一个'\n'在后面 如果我们接着使用getline,就会把上面cin.scanf遗留下来的'\n'读入.因为getline遇到'\n'会读入结束,所以会读到一 ...

  5. getline简单例子

    瞅一眼c++98的getline(Get line from stream into string): (1) istream& getline (istream& is, strin ...

  6. C++中的cin、cin.getline()、getline()函数比较

    1.cin用法 用法1:输入一个数字或字符 // cin用法// 用法1:输入一个数字或字符int a, b;cin >> a >> b;cout << a + b ...

  7. C++中getline()函数

    我的技术博客:www.cnblogs.com/overcode 学习C++的同学可能都会遇到一个getline()函数,譬如在C++premer中,标准string类型第二小节就是"用get ...

  8. C++中getline()的用法

    getline()用法 getline是C++标准库函数:它有两种形式,一种是头文件< istream >中输入流成员函数:一种在头文件< string >中普通函数: 它遇到 ...

  9. getline及读文件总结

    今天由华为软件精英挑战赛的要求,读文件这块自己进行了总结,主要是泛型以及关联容器这块需要加强,现在总结了读文件的iterator的用法. 1.iterator inserter(essential C ...

  10. C++中getline函数的使用

    代码: 1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 6 int main(){ 7 ...

最新文章

  1. validate插件深入学习-01 小白从看透一个插件开始
  2. 企业部署Windows 7指南
  3. JDK7与JDK8中HashMap的实现
  4. PHP去除换行符的方法小结(PHP_EOL变量的使用)
  5. ubuntu修改pip的官方源为豆瓣源
  6. web服务优化与健壮性改进_创建健壮的微服务架构所涉及的组件
  7. [css] 说说你对CSS样式覆盖规则的理解
  8. WP之Sql Server CE数据库
  9. python是动态语言_Python是动态语言:动态添加或删除属性、方法
  10. bug1-tensorflow中自定义模型的bug-input_signature
  11. HTML5期末大作业:学校网站设计——初级中学网站(16页)HTML+CSS+JavaScript 学校网页设计作业 网页设计作业 学生个人设计成品,网页设计作业
  12. 云服务器部署网易云音乐API(node.js)
  13. 数据挖掘—GEO,TCGA,Oncomine联合(三)GEO数据的下载和数据质量分析
  14. Critical Reviews | 南农邹建文组综述全球农田土壤抗生素与耐药基因分布
  15. MMdetection中backbone的实现-MobileNetV2
  16. 让犯罪有迹可寻,区块链存证被最高人民法院认可
  17. 分布式事务详解(看完不懂我当场认做你哥)
  18. Golang Break、Continue跳出多层循环
  19. STM32CubeMX安装及使用教程(一)
  20. Microsoft Office 2003 SP3 龙卷风版 V2.3高速下载

热门文章

  1. doubleTwist是iTunes的替代产品,支持多种设备
  2. php 正则表达式 环视,深入理解正则表达式高级教程
  3. Delphi 10.4利用CreateMutex函数创建互斥对象实例防止程序中多次执行该对象
  4. 软件工程-系统需求获取技术、结构化需求建模和系统设计(上)
  5. android 动态contextmenu,Android中ContextMenu用法实例
  6. day02-移动web(空间转换)
  7. 计算机语言的分类:编译型/解释型、动态类型/静态类型、强类型/弱类型
  8. 安卓获取系统照片 (Kotlin)
  9. 【报告分享】2021中国新能源车险生态共建白皮书-艾瑞咨询(附下载)
  10. uniapp 使用秋云uCharts图表组件、echarts图表组件