Так что мне нужно знать, как идентифицировать строку текста и выводить, какой тип данных он есть, например, если строка говорит 123
, она должна выводиться как 123 int
.Как определить тип данных из файла
Сейчас моя программа идентифицирует только boolean
, string
и char
. Как мне рассказать, если это int
или double
?
int main() {
string line;
string arr[30];
ifstream file("pp.txt");
if (file.is_open()){
for (int i = 0; i <= 4; i++) {
file >> arr[i];
cout << arr[i];
if (arr[i] == "true" || arr[i] == "false") {
cout << " boolean" << endl;
}
if (arr[i].length() == 1) {
cout << " character" << endl;
}
if (arr[i].length() > 1 && arr[i] != "true" && arr[i] != "false") {
cout << " string" << endl;
}
}
file.close();
}
else
cout << "Unable to open file";
system("pause");
}
Благодаря
Вы можете использовать регулярное выражение? если он соответствует \ d + \. \ d +, тогда у нас есть double, и если он соответствует \ d + $, тогда мы имеем int – saml
. Существует бесконечный набор чисел, который может быть либо целым, либо с плавающей точкой. Значение 123 может быть значением с плавающей запятой или целым числом. Некоторые алгоритмы используют десятичную точку, так что 123 является целым числом, а 123. является плавающей точкой. Для некоторых реализаций требуется научное обозначение: 1.23E + 2. –