Java到C++;语法

Java到C++;语法,java,c++,input,while-loop,user-input,Java,C++,Input,While Loop,User Input,这里是C++初学者。想知道这段限制用户输入的Java代码的语法是什么。下面是我编写的一个Java代码示例 while (!in.hasNext("[A-Za-z]+")){} 其中“in”是我的scanner变量。这段代码在输入不是实数时运行,并返回一条错误消息,其中包含再次输入内容的选项。我还没有找到C++上的“范围”条件的等价物。任何帮助都将不胜感激 编辑: 我曾尝试使用DEVC++中的正则表达式函数,但它给了我这样的警告: #ifndef _CXX0X_WARNING_H #defi

这里是C++初学者。想知道这段限制用户输入的Java代码的语法是什么。下面是我编写的一个Java代码示例

while (!in.hasNext("[A-Za-z]+")){}
其中“in”是我的scanner变量。这段代码在输入不是实数时运行,并返回一条错误消息,其中包含再次输入内容的选项。我还没有找到C++上的“范围”条件的等价物。任何帮助都将不胜感激

编辑: 我曾尝试使用DEVC++中的正则表达式函数,但它给了我这样的警告:

 #ifndef _CXX0X_WARNING_H
 #define _CXX0X_WARNING_H 1

 #if __cplusplus < 201103L
 #error This file requires compiler and library support for the \
 ISO C++ 2011 standard. This support is currently experimental, and must be \
 enabled with the -std=c++11 or -std=gnu++11 compiler options.
 #endif

 #endif
\ifndef\u CXX0X\u警告\u H
#定义_CXX0X_警告_h1
#如果uu cplusplus<201103L
#错误此文件需要编译器和库对\
ISO C++ 2011标准。这种支持目前处于试验阶段,必须加以改进\
使用-std=c++11或-std=gnu++11编译器选项启用。
#恩迪夫
#恩迪夫

这是否意味着我不能使用DEVC++中的正则表达式函数?

< P> <强>例:< /强>

cin >> inputStr;
if (std::regex_match (inputStr, std::regex("[A-Za-z]+") )) {
    // do something, will you ?
}
注意:您需要包括


更多信息:

示例:

cin >> inputStr;
if (std::regex_match (inputStr, std::regex("[A-Za-z]+") )) {
    // do something, will you ?
}
注意:您需要包括


更多信息:

如果你想循环直到得到一个真实的数字,那么你可以使用:

do
{
    cin >> input;
} while(std::regex_match (input, std::regex("[A-Za-z]+")));
您还可以使用
std::stod()
std::string
转换为
double
。这样做将确保您得到一个有效的实数,因为它是一个数字,并且有e/e。您可以通过以下方式实现:

std::string input;
double value;
size_t pos;
do
{
    cin >> input;
    value = stod(input, &pos);
} while (pos < input.size());
std::字符串输入;
双重价值;
尺寸和位置;
做
{
cin>>输入;
值=stod(输入和位置);
}而(pos
如果你想循环直到得到一个实数,那么你可以使用:

do
{
    cin >> input;
} while(std::regex_match (input, std::regex("[A-Za-z]+")));
您还可以使用
std::stod()
std::string
转换为
double
。这样做将确保您得到一个有效的实数,因为它是一个数字,并且有e/e。您可以通过以下方式实现:

std::string input;
double value;
size_t pos;
do
{
    cin >> input;
    value = stod(input, &pos);
} while (pos < input.size());
std::字符串输入;
双重价值;
尺寸和位置;
做
{
cin>>输入;
值=stod(输入和位置);
}而(pos你可以在C++中搜索正则表达式(或正则表达式)。这是什么意思?你所说的“范围条件”只是一个正则表达式,大多数编程语言都有使用的能力。这里有大量的信息可以在C++中使用。你可以在C++中搜索正则表达式(或正则表达式)。这是什么意思?你所说的“范围条件”只是一个正则表达式,大多数编程语言都有使用的能力。这里有大量的信息可以在C++中使用。你可以在C++中搜索正则表达式(或正则表达式)。这是什么意思?你所说的“范围条件”只是一个正则表达式,大多数编程语言都有使用的能力。这里有大量的信息可以在C++中使用。