📄 examples.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head> <meta name="generator" content= "HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org"> <title>C++ I/O Examples</title> <link href="../cppreference.css" rel="stylesheet" type="text/css"></head><body><table> <tr> <td> <div class="body-content"> <div class="header-box"> <a href="../index.html">cppreference.com</a> > <a href= "index.html">C++ I/O</a> > <a href="examples.html">Examples</a> </div> <div class="name-format"> C++ I/O Examples </div> <h2>Reading From Files</h2> <p>Assume that we have a file named <em>data.txt</em> that contains this text:</p> <pre class="example-data"> Fry: One Jillion dollars. [Everyone gasps.] Auctioneer: Sir, that's not a number. [Everyone gasps.] </pre> <p>We could use this code to read data from the file, word by word:</p> <pre class="example-code"> ifstream fin("data.txt"); string s; while( fin >> s ) { cout << "Read from file: " << s << endl; }</pre> <p>When used in this manner, we'll get space-delimited bits of text from the file:</p> <pre class="example-output"> Read from file: Fry: Read from file: One Read from file: Jillion Read from file: dollars. Read from file: [Everyone Read from file: gasps.] Read from file: Auctioneer: Read from file: Sir, Read from file: that's Read from file: not Read from file: a Read from file: number. Read from file: [Everyone Read from file: gasps.]</pre> <p>Note that in the previous example, all of the whitespace that separated words (including newlines) was lost. If we were interested in preserving whitespace, we could read the file in line-by-line using the <a href="getline.html">I/O getline() function</a>.</p> <pre class="example-code"> ifstream fin("data.txt"); const int LINE_LENGTH = 100; char str[LINE_LENGTH]; while( fin.getline(str,LINE_LENGTH) ) { cout << "Read from file: " << str << endl; }</pre> <p>Reading line-by-line produces the following output:</p> <pre class="example-output"> Read from file: Fry: One Jillion dollars. Read from file: [Everyone gasps.] Read from file: Auctioneer: Sir, that's not a number. Read from file: [Everyone gasps.]</pre> <p>If you want to avoid reading into character arrays, you can use the <a href="../cppstring/getline.html">C++ string getline()</a> function to read lines into <a href="../cppstring/index.html">strings</a>:</p> <pre class="example-code"> ifstream fin("data.txt"); string s; while( getline(fin,s) ) { cout << "Read from file: " << s << endl; }</pre> <h2>Checking For Errors</h2> <p>Simply evaluating an I/O object in a boolean context will return false if any errors have occurred:</p> <pre class="example-code"> string filename = "data.txt"; ifstream fin( filename.c_str() ); if( !fin ) { cout << "Error opening " << filename << " for input" << endl; exit(-1); }</pre> </div> </td> </tr> </table></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -