이봐 모든 그래서 나는 텍스트 파일에서 값을 가져해야하지만 값은 모두이로 작성되어 단독으로하지 않습니다C++의 파일에서 한 줄의 특정 문자를 읽을 수 있습니까?
인구의 크기 :
(30)는 C++로 어떤 방법이 있나요 그 I ':'다음에 읽을 수 있습니까? 내가 좋아 >> 연산자를 사용하여 시도했다 :
string pop;
inFile >> pop;
하지만이 숫자와
inFile.getline(pop, 20);
를 사용하여 어떤 이유로지기 전에 오프 물론 공백이 문을 종료 나에게 오류의 부하를 준다 왜냐하면 그것은 어떤 이유로 든 문자열에 직접 쓰고 싶지 않기 때문입니다. 문자열 배열을 사용하고 싶지 않습니다. 그 이유는 숫자를 테스트하고 그 문자열을 문자열에서 추출하기가 쉽지 않기 때문입니다. 어쨌든 getline 함수를 문자열과 함께 사용할 수 있습니까? ':'문자 다음부터 읽을 수 있습니까?
#include <iostream>
#include <fstream>
#include <string>
#include <cstring>
#include <cstdlib>
using namespace std;
int main()
{
string fname;
cin >> fname;
ifstream inFile;
inFile.open(fname.c_str());
string pop1;
getline(inFile,pop1);
cout << pop1;
return 0;
}
ok 여기에 새로운 getline이있는 코드가 있지만, 여전히 아무 것도 출력하지 않습니다. 다음 조작 문자열 올바르게 텍스트 파일을 열고 않으며, 전체 라인을 읽을 수
입력 스트림의 멤버가 아닌'std :: string'에 대한'getline' 버전이 있습니다 :'std :: getline (inFile, pop)'. –
도움을 주셔서 감사합니다,이 진술은 오류가 발생하지 않지만 내가 cout << pop을 사용할 때 아무것도 출력하지 않습니다; –
실패 할 유일한 이유는 1) 잘못된 파일 이름을 입력했기 때문에 파일을 제대로 열지 못했습니다. 2) 파일이 비어있었습니다. 3) 파일의 첫 번째 줄이 비어 있습니다. 오류 검사를 추가하여 파일이 열리도록하십시오. 'std :: getline (inFile, pop1)) {std :: cout << "줄 :"<< pop1 << "\ n";}' –