したがって、行の種類を特定してどのような種類のデータを出力するかを知る必要があります。たとえば、行に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 + $と一致する場合は、 – saml
整数または浮動小数点数の無限集合があります。値123は浮動小数点値または整数です。一部のアルゴリズムでは小数点が使用されるため、123は整数、123は浮動小数点です。いくつかの実装では、1.23E + 2の科学記法が必要です。 –