을 읽을 때 문자열의 beggining에서 캐리지 리턴을 추가 :C++ 나는이 개 질문이 파일
1) 왜 내 코드가 selected_line 문자열의 beggining에서 캐리지 리턴을 추가?
2) 파일에서 임의의 줄을 반환하는 데 사용하는 알고리즘이 충분히 좋다고해서 문제가 발생하지 않는다고 생각하십니까?
샘플 파일은 다음과 같습니다
line
number one
#
line number two
내 코드 : 당신의 도움에 미리
int main()
{
srand(time(0));
ifstream read("myfile.dat");
string line;
string selected_line;
int nlines = 0;
while(getline(read, line, '#')) {
if((rand() % ++nlines) == 0)
selected_line = line;
}
// this is adding a \n at the beggining of the string
cout << selected_line << endl;
}
감사합니다.
편집 : 좋아, 여러분 중 일부는 많은 의미가 있습니다. 이 문자열은 아마도 "\ nmystring"으로 읽혀질 것입니다. 그래서 내 질문에 지금 것 같아요 문자열에서 첫 번째 \ n 제거 할 것이라고?
데이터는 무엇입니까? 파일 보이지? –
Neil, fhe 데이터 파일은 단일 '#'문자가 포함 된 줄로 구분 된 단락으로 구성됩니다. –