したがって、整数として.txtファイルの数値を読みたいと思います。C++ ifstream読み取り専用ワード数
file.txtを:
hello 123-abc
world 456-def
現在のコード:
int number;
ifstream file("file.txt");
while (!file.eof())
{
file >> number; //123, 456
}
今、この明らかにdoesntの仕事とは「ながら」しかし、私はちょうどこれを回避することができないためにこれを解決しようとされてアイブ。
std::string currentLine = "";
std::string numbers = "";
ifstream file("file.txt");
if(file.is_open())
{
while(std::getline(file, currentLine))
{
int index = currentLine.find_first_of(' '); // look for the first space
numbers = currentLine.substr(index + 1, xyz);
}
}
xyzが数字の長さである(この場合は3の場合を:あなたは、ファイルが開いている場合は、最初の数を取得するためにその現在の行を解析し、現在の行を取得し、その後、チェックする必要があり
だから、数ではないかもしれない何かを無視したいですか?文字列を読み込みます。正規表現を使用して文字列を照合し、正規表現の一致したグループの1つから数字を取得します。まだ混乱していますか? :-)正規表現は '123'のような連続した文字列のため、他の種類の読み込みよりも簡単ですが、' stoi'は一般的に文字列の先頭から多くの整数を引っ張り出します。YMMV – AndyG
while( !file.eof())doesntはあなたがそれをすると思います – pm100