【发布时间】:2014-05-17 15:41:37
【问题描述】:
我想从一个文本文档中读入一个名字、一个空格和一个十进制值的信息。例如,文件中的一行可能有:
虎 56.3
我需要做的是验证第一部分是只包含字母的字符串,第二部分是只包含数字的字符串,包括小数。到目前为止,我有以下基本代码:
ifstream input("data.txt");
while(!input.eof())
{
string name;
double score;
input >> name;
input >> score;
}
我该怎么做呢?
【问题讨论】:
-
通常的方法是将文件作为文本读取(可能一次一行),然后自己手动标记和 lex 它。 C++
istream格式化程序并不真正适合健壮的输入验证。 -
简单。将行作为字符串输入。按空间分成两部分。循环首先检查非字母和第二个非数字的存在。
-
你可以使用正则表达式库
标签: c++ validation input