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