[英]How to read text from a file line by line
我正在尝试阅读包含以下内容的文本文件input.txt :
约翰·史密斯
任意街123号
达拉斯
德州
75275
2 0.79 13.20 6.50
但是,当我尝试使用getline()读取第一行时,整个文件将被复制到字符串名称中,而不是第一行中。 这是我的代码:
string name;
ifstream fin("input.txt", ios::in);
getline(fin, name);
我只希望名字包含“ John Smith”。 有什么建议吗?
您的代码是正确的。 获得字符串“ John Smith”就足够了。尝试学习有关“回车”或“行尾”的更多信息 ( http://en.wikipedia.org/wiki/Newline )
回车在不同的平台上是不同的。
例:
<CR> = 0x0D = '\r'
<LF> = 0x0A = '\n'
Windows使用字节<CR>+<LF>
来标识换行...,而UNIX系统使用<LF>
... Mac系统以前仅使用<CR>
来标识换行(有时称为“经典Mac”)。 ..但现在它们像UNIX标准一样切换到<LF>
。
因此,您的问题可能是您有不同的行结束标准。 尝试使用更好的文本编辑器( Notepad ++,Sublime,TextWrangler等 )来播放不同的行尾。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.