-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgetline.html
More file actions
126 lines (109 loc) · 3.7 KB
/
getline.html
File metadata and controls
126 lines (109 loc) · 3.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<!-- Mirrored from cppreference.com/cppstring/getline.html by HTTrack Website Copier/3.x [XR&CO'2004], Tue, 22 Jan 2008 06:24:57 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
<head>
<meta name="generator" content=
"HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org">
<title>getline</title>
<link href="../cppreference.css" rel="stylesheet" type="text/css">
<link href="../prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="../prettify.js"></script>
</head>
<body onload="prettyPrint()">
<table>
<tr>
<td>
<div class="body-content">
<div class="header-box">
<a href="../index-2.html">cppreference.com</a> > <a href=
"index.html">C++ Strings</a> > <a href=
"getline.html">getline</a>
</div>
<div class="name-format">
getline
</div>
<div class="syntax-name-format">
Syntax:
</div>
<pre class="syntax-box">
#include <string>
istream& getline( istream& is, string& s, char delimiter = '\n' );
</pre>
<p>The C++ string class defines the global function getline() to read
strings from an I/O stream. The getline() function, which is not
part of the string class, reads a line from <em>is</em> and stores it
into <em>s</em>. If a character <em>delimiter</em> is specified, then
getline() will use <em>delimiter</em> to decide when to stop reading
data.</p>
<p>For example, the following code reads a line of text from
<strong>stdin</strong> and displays it to
<strong>stdout</strong>:</p>
<pre class="prettyprint">
string s;
getline( cin, s );
cout << "You entered " << s << endl;
</pre>
<p>After getting a line of data in a string, you may find that <a
href="../cppsstream/index-2.html">string streams</a> are useful in extracting
data from that string. For example, the following code reads
numbers from standard input, ignoring any "commented" lines that
begin with double slashes:</p>
<pre class="prettyprint">
// expects either space-delimited numbers or lines that start with
// two forward slashes (//)
string s;
while( getline(cin,s) ) {
if( s.size() >= 2 && s[0] == '/' && s[1] == '/' ) {
cout << " ignoring comment: " << s << endl;
} else {
istringstream ss(s);
double d;
while( ss >> d ) {
cout << " got a number: " << d << endl;
}
}
}
</pre>
<p>When run with a user supplying input, the above code might
produce this output:</p>
<pre class="prettyprint">
// test
ignoring comment: // test
23.3 -1 3.14159
got a number: 23.3
got a number: -1
got a number: 3.14159
// next batch
ignoring comment: // next batch
1 2 3 4 5
got a number: 1
got a number: 2
got a number: 3
got a number: 4
got a number: 5
50
got a number: 50
</pre>
<div class="related-name-format">
Related topics:
</div>
<div class="related-content">
(C++ I/O) <a href="../cppio/get.html">get</a><br>
(C++ I/O) <a href="../cppio/getline.html">getline</a><br>
<a href="../cppsstream/index-2.html">string streams</a>
</div>
</div>
</td>
<script src="../../www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-2828341-1";
urchinTracker();
</script>
</tr>
</table>
</body>
<!-- Mirrored from cppreference.com/cppstring/getline.html by HTTrack Website Copier/3.x [XR&CO'2004], Tue, 22 Jan 2008 06:24:57 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
</html>