假设有一个叫
data.txt 的文件, 它包含以下内容:
Fry: One Jillion dollars.[Everyone gasps.]Auctioneer: Sir, that's not a number.
数据读取, 测试 。
以下就是基于 data.txt 的数据读取操作:
#include
<
iostream
>
#include
<
fstream
>
#include
<string
>
using
namespace
std;
//
输出空行
void
OutPutAnEmptyLine()
{ cout<<"/n";}
//
读取方式: 逐词读取, 词之间用空格区分
//
read data from the file, Word By Word
//
when used in this manner, we'll get space-delimited bits of text from the file
//
but all of the whitespace that separated words (including newlines) was lost.
void
ReadDataFromFileWBW()
{ ifstream fin("data.txt"); string s; while( fin >> s ) { cout << "Read from file: " << s << endl; }}
//
读取方式: 逐行读取, 将行读入字符数组, 行之间用回车换行区分
//
If we were interested in preserving whitespace,
//
we could read the file in Line-By-Line using the I/O getline() function.
void
ReadDataFromFileLBLIntoCharArray()
{ 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; }}
//
读取方式: 逐行读取, 将行读入字符串, 行之间用回车换行区分
//
If you want to avoid reading into character arrays,
//
you can use the C++ string getline() function to read lines into strings
void
ReadDataFromFileLBLIntoString()
{ ifstream fin("data.txt"); string s; while( getline(fin,s) ) { cout << "Read from file: " << s << endl; }}
//
带错误检测的读取方式
//
Simply evaluating an I/O object in a boolean context will return false
//
if any errors have occurred
void
ReadDataWithErrChecking()
{ string filename = "dataFUNNY.txt"; ifstream fin( filename.c_str()); if( !fin ) { cout << "Error opening " << filename << " for input" << endl; exit(-1); }}
int
main()
{ ReadDataFromFileWBW(); //逐词读入字符串 OutPutAnEmptyLine(); //输出空行 ReadDataFromFileLBLIntoCharArray(); //逐词读入字符数组 OutPutAnEmptyLine(); //输出空行 ReadDataFromFileLBLIntoString(); //逐词读入字符串 OutPutAnEmptyLine(); //输出空行 ReadDataWithErrChecking(); //带检测的读取 return 0;}
输出结果为:
Read from file: Fry:Read from file: OneRead from file: JillionRead from file: dollars.Read from file: [EveryoneRead from file: gasps.]Read from file: Auctioneer:Read from file: Sir,Read from file: that'sRead from file: notRead from file: aRead from file: number.Read from file: 数据读取,Read from file: 测试Read from file: 。
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: 数据读取, 测试 。
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: 数据读取, 测试 。
Error opening dataFUNNY.txt for inputPress any key to continue
转载请注明原文地址: https://ibbs.8miu.com/read-2167037.html