在 C++ 中读取直到行尾
我有一个像这样的文本文件:
刺入另一个字符串 0 12 0 5 3 8
刺入另一个字符串 8 13 2 0 6 11
我想计算有多少个数字。我认为我最好的选择是使用 while 类型循环和一个条件来结束计数,然后另一行开始,但我不知道如何在行尾停止读取。
提前感谢您的帮助;)
I have a text file like this :
Sting Another string 0 12 0 5 3 8
Sting Another string 8 13 2 0 6 11
And I want to count how many numbers are there. I think my best bet is to use while type cycle with a condition to end counting then another line starts but I do not know how to stop reading at the end of a line.
Thanks for your help in advance ;)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
将您的
输入
流拆分为行要将行拆分为单词,请使用字符串流:
您可以对每个单词重复此操作,以确定它是否包含数字。由于您没有指定您的数字是整数还是非整数,所以我假设
int
:免责声明:这种方法并不完美。它将检测诸如
123abc
之类的单词开头的“数字”,它还将允许诸如string 123 string
之类的输入格式。而且这种方法效率也不是很高。Split your
input
stream into linesTo split a line into words, use a stringstream:
You can repeat this for each word to decide whether it contains a number. Since you didn't specify whether your numbers are integer or non-integers, I assume
int
:Disclaimer: This approach is not perfect. It will detect "numbers" at the beginning of words like
123abc
, it will also allow an input format likestring 123 string
. Also this approach is not very efficient.为什么不使用
getline()
?Why don't you use a
getline()
?行尾由“\n”字符表示。
在 while 循环中放置一个条件,当遇到 '\n' 时结束
End of Line is represented by '\n' character.
Put a condition in your while loop to end when it encounters '\n'