그래서 .txt 파일의 숫자를 정수로 읽고 싶습니다.C++ ifstream 읽기 전용 단어 수
file.txt를 :
hello 123-abc
world 456-def
현재 코드 :
int number;
ifstream file("file.txt");
while (!file.eof())
{
file >> number; //123, 456
}
지금이 분명히 나던 작업과는 "동안"하지만 난 그냥이 문제를 해결 얻을 수없는이를 해결하기 위해 노력하고 살아야 .
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 : 파일이 열려있는 경우
그래서 당신이 수하지 않을 수 있습니다 아무것도 무시하고 싶어? 문자열을 읽으십시오. 그런 다음 정규식을 사용하여 문자열을 일치시키고 정규 표현식의 일치 그룹 중 하나에서 숫자를 가져옵니다. 아직 혼란스러워? :-) 정규 표현식은'123' 같은 일련의 연속 된 문자 때문에 다른 종류의 읽기보다 더 간단합니다. 그러나'stoi'는 일반적으로 문자열 앞에있는 많은 정수를 풀 수 있습니다. YMMV – AndyG
while (! file.eof()) do does do what think do – pm100