C++ getline函数的用法

网上查到的好多都看不明白。
我想知道这个函数可以按行读取文件吗?
如果可以具体的用法是什么?后面的参数都有什么?
如果不行,那有什么函数可以按行读取文件内容吗??

第1个回答  推荐于2016-10-26
应该是因为标准输入每次回车都向程序输入数据的原因。
标准输入是以回车为单位向程序输入数据,也就是说当ni hao回车后,程序得到了如下输入
”ni hao\n",这个串被第一个getline读取后,因为正常读到了分隔符,认为输入数据并没有结束,第二个getline再次读取时,发现标准输入数据中没有内容,返回空串,同时标记输入数据结束。
这个问题只会发生在标准输入上,读文件没有这个问题,读文件时第二个getline会读到第二行数据。追问

看我这个用法,a是文件流名称,str是个C-串,但是提示有错误,不符合函数定义,但是我又看不懂函数定义。。。我把str改成字符数组形式还是不行,求解错在哪里

本回答被提问者采纳
第2个回答  2019-03-21
你没给s分配空间也没初始化,s就是个野指针。
char*
s
=
new
char[1001];
memset(s,
0,
1001);
cout<<"请输入字符串,以‘\n‘结束:\n";
cin.getline(s,1000,'\n');cin.getline(s,1000,'\n');

c++的getline()函数怎么使用?
getline() 方法用于从文件输入流中读取字符串,它定义在 istream 类中,因此适用于 fstream 和 ifstream 类对象。该方法有两种格式:istream & getline(char* buf, int bufSize); 和 istream & getline(char* buf, int bufSize, char delim);。第一种格式用于读取 bufSize-1 个字符,或遇到 为止...

getline函数
getline是C++标准库函数;但不是C标准库函数,而是POSIX(IEEE Std 1003.1-2008版本及以上)所定义的标准库函数(在POSIX IEEE Std 1003.1-2008标准出来之前,则只是GNU扩展库里的函数)。getline函数梗概:成员函数getline()是从输入流中读取一行字符,读到终止符时会将'0'存入结果缓冲区中,作为输入...

c++getline函数用法
c++getline函数用法具体内容如下:C++中的getline函数用于从输入流中读取一行数据,并将其存储到指定的字符串变量中。它的基本用法如下:英文模式下输入:#include<iostream>#include<string>intmain(){std::stringline;std::cout<<“请输入一行文字:”<<std::endl;std::getline(std::cin,...

C++ 使用getline():从文件中读取一行字符串
C++中的getline()函数是一种强大的工具,用于从cin输入流或文件中读取一行字符串。它不仅适用于标准输入,也适用于fstream和ifstream这样的文件流对象。getline()方法有两种不同的语法形式:1. 用于从文件中读取bufSize-1个字符,直到遇到换行符或者达到指定长度,结尾自动添加'\\0'。这种方法确保了完整行的...

C++中,getline函数的详解
在C++编程中,getline函数具有多种实现方式,主要分为两种:一种是作为类的成员函数,另一种则在头文件中作为普通函数。让我们分别探讨这两种形式。首先,中的getline函数有两种重载形式:1. istream& getline(char* s, streamsize n); 该函数从输入流中读取最多n个字符,并存储在指针s指向的数组中。

c++ getline() 详解
深入理解C++ getline()函数的奥秘 在C++编程中,getline()函数作为流处理的重要工具,其功能强大且灵活。它有两种主要的实现形式,分别定义在和头文件中,让我们逐一探索它们的细节和用法。首先,在头文件中的getline()函数有两重载形式,分别为:istream& getline(char* s, streamsize n); istream& ...

C++中,getline函数的详解
(istream&& is, string& str, char delim);istream& getline (istream& is, string& str);istream& getline (istream&& is, string& str);用法和上一种类似,不过要读取的istream是作为参数is传进函数的。读取的字符串保存在string类型的str中。参考资料:C++中,getline的详细解析 ...

c++中使用getline读文件的问题
在c++中,getline函数是用来从标准输入流cin中读取整行数据的。即默认情况下,getline读的不是哪个文件,而是命令行中键盘的输入。要使用getline读文件,首先要做的就是将cin重定向到要读的文件中。可以采用以下代码实现 streambuf *backup;ifstream fin;fin.open("data.in"); \/\/打开要读的文件。bac...

getline函数如何使用?后面的参数都代表什么?
getline(basic_istream<charT,traits>&is,basic_string<charT,traits,Allocator>&str);函数的定义:给定一个数集A,假设其中的元素为x。现对A中的元素x施加对应法则f,记作f(x),得到另一数集B。假设B中的元素为y。则y与x之间的等量关系可以用y=f(x)表示。我们把这个关系式就叫函数关系式,...

C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用 ...
但通常使用在`string`类型中,其语法与`cin.getline()`相似。两者的主要区别在于`getline()`属于`string`流,而`cin.getline()`属于`istream`流,它们是不同的函数。总之,在处理输入数据时,C++提供了多种方法,选择合适的函数取决于具体需求。确保理解每个函数的功能和用法对于高效编程至关重要。

相似回答