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

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. 清空Python Shell 窗口的方法 - ClearWindow
  2. 006_JSONObject对象公共方法
  3. 复合赋值运算简单赋值运算
  4. 【图像分割模型】快速道路场景分割—ENet
  5. saspython知乎_python学习笔记---linux/windows调用sas程序
  6. C++之RAII机制
  7. 前端学习(1991)vue之电商管理系统电商系统之实现商品的分页功能
  8. 29 | 如何判断一个数据库是不是出问题了?
  9. mysql中select 的题型_MYSQL经典题型详情解析
  10. java按字节截取字符串牛客网_字符串计数
  11. 08_提升方法Boosting1_统计学习方法
  12. pclose与fclose的区别
  13. 视频编解码(六):264解码器学习
  14. matlab 有约束最小化,求解带等式约束和最小化目标的LMI
  15. 博客图床最佳解决方案
  16. html中的定位及其定位方式
  17. Quoted-printable1(BUCTF在线评测)
  18. 线性代数学习-矩阵在电流计算中的应用
  19. J9数字论:区块链+DAO3:去中心化的互联网世界
  20. 轮播图的实现,点击按钮切换轮播图等功能

热门文章

  1. Left 4 dead 破解攻略
  2. DirectX光线跟踪的简要介绍
  3. 阿伏法机器人_智慧树_森工机器人技术_搜题公众号
  4. MSSQL更改数据库文件路径
  5. 今年月饼销售盛行微信营销 电商开启预售模式
  6. wireshark:什么是wireshark
  7. 对WEB标准以及W3C的理解与认识?
  8. Kali Linux安装与基本配置(文内提供成品镜像下载)
  9. 安卓 强制隐藏软键盘
  10. getComputedStyle和currentStyle的使用方法