getline函数用法

getline函数用法,第1张

输入的时候是根据空格来区分获取输入流的\x0d\x0a你先获取的是a[20]的内容 空格之后的才是b[20]的内容\x0d\x0acin>>a\x0d\x0a //从标准输入设备(键盘)获取数据旦尘,备伍跳过输入流中的空格,tab键,换行符,回车符等\x0d\x0acin.getline(b,sizeof(b))\x0d\x0a //从模滚禅流中抽取字符知道终止符(默认为'\n'),或者达到(给定数量-1)的值,或者到文件尾

C++中本质上有两种getline函数,一种在头文件<istream>中,是istream类的成员函数。一种在头文件<string>中,是普通函数。

一、在<istream>中的getline函数有两种重载形式:

istream&getline (char* s, streamsize n )

istream&getline (char* s, streamsize n, char delim )

作用是从istream中读取至多n个字符保存在s对应的数组中。即使还没读够n个字符,如果遇凳指到换行符'\n'(第一种形式)枣州配或delim(第二种形式),则迹敏读取终止,'\n'或delim都不会被保存进s对应的数组中。

二、在<string>中的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是作为参数is传进函数的。读取的字符串保存在string类型的str中。

扩展资料:

getline不是C库函数,而是gcc的扩展定义或者C++库函数。它会生成一个包含一串从输入流读入的字符的字符串,直到以下情况发生会导致生成的此字符串结束。

1)到文件结束,

2)遇到函数的定界符,

3)输入达到最大限度。

参考资料:getline函数-百度百科

getline()语法:

istream &getline( char *buffer, streamsize num )

 庆洞 istream &getline( char *buffer, streamsize num, char delim )

用getline()读取字符到buffer中,buffer在代码中通常体现为一个字符数组,悔冲streamsize num是一次读入多少个字符, num - 1个字符已经读入, 当碰到一个换行标志, 碰到一个EOF, 或者任意地读入,直到读到字符delim。delim字符不会被放入buffer中。delim字符可以自誉前枯已设定,默认为回车符'/n'

#include <iostream.h>

#include<stdlib.h>

#include <iomanip.h>

#include <fstream.h>

const int N=10

int main()

{

char str[N]

ifstream fin

fin.open("data.txt")

if (!fin)

{

cout<<"error "<<endl

exit(1)

}

while(fin.getline(str,sizeof(str)))

{

cout<<str

cout<<endl

}

cout<<endl

fin.clear()

cin.get()

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12208588.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存