안녕하세요 여러분, 제 첫 번째 게시물입니다. 정보가 충분하지 않은 등 실수를 저 지르면 다시 알려주지 않도록 알려주세요.while 루프가 종료 된 후 문자열의 내용이 삭제되고 있습니까?
내 문제는 파일의 내용을 가져 와서 작업하고있는 문자열에 입력해야한다는 것입니다. 그러나 while 루프가 끝난 후 while 루프 밖에서 해당 문자열을 사용하려고 시도하고 문자열의 내용을 조작하려고하면 종료됩니다. 문자열이 비어 있고 내용이없는 것 같습니다. 나는 std :: cout 라인을 사용하여 이것을 결정했다. 이 문제가 범위 문제라고 생각하지만 해결 방법을 모르겠습니다. 아래 질문에 관련된 코드입니다, 어떤 조언이나 도움이 크게 감사하겠습니다! 또한
std::string str;
std::ifstream file;
while(!file.eof()){
getline(file, str);
std::cout << str << "";
}
file.close();
std::cout << str << "";
std::map<std::string, int> map;
for(int i = 0; i < str.length(); ++i){
std::string sub = str.substr(i, k);
std::cout << sub << std::endl;
map.insert(make_pair(sub, 1));
}
std::cout << "" << std::endl;
, 나는 코드의 다른 부분에 정의 된 변수 크기 K에 최대 문자열을 잘라하려고, 그래서 C++에서 SUBSTR 방법을 사용하고, 나는이 때 때문에 작업을 믿습니다 while 루프에서 파일의 내용을 인쇄 할 수 있지만 형식이 꺼져 있습니다. while 루프가 실행되는 방식의 특성 때문에 생각합니다. 그러나 확실하지 않습니다. 잘못하면 수정하십시오. 또는 오해가있을 수 있습니다.
다시 만들 표시된 코드는 [mcve]에 대한 모든 요구 사항을 충족하기 위해 실패하지해야 하나 명백한 실수. –
알았어. 그 문서를 읽었을 뿐이며 포인터에 감사드립니다. – firetiger443