을 작동하지 않습니다 다음 내가 디버거에서 실행할 때 나에게 SIGABRT를 제공하십시오파일을 읽을 문자열을 사용하여 - 엑스 코드
std::ifstream inFile;
inFile.open("/Users/fernandonewyork/inputText.txt");
cout << inFile << endl;
vector<string> inText;
if (inFile) {
string s4;
while (inFile>>s4) {
inText.push_back(s4);
}
}
inFile.close();
를 다음을 수행합니다
std::ifstream inFile;
inFile.open("/Users/fernandonewyork/inputText.txt");
cout << inFile << endl;
vector<string> inText;
if (inFile) {
string s4("This is no lnger an empty string");
while (inFile>>s4) {
inText.push_back(s4);
}
}
inFile.close();
나는 공간 고려 사항에 대해 걱정할 필요없이 단순히 s4를 사용할 수 있었다는 인상을 받고 있었습니까? 이것은 내가 가기 코드에서 얻을 전체 오류입니다 :
의 malloc : * 객체 0x100010a20에 대한 오류 : "SIGABRT"포인터가 프로그램을 디버깅 할 수 malloc_error_break에 중단 점 신호를 수신 설정 * 할당되지 않은 해제된다.
공간을 할당하기 위해 s4를 null로 설정해 보셨습니까? –
이 코드가 모두 있습니까? 문제는 여기에서 일어나지 않는 것처럼 보이지만,이 부분은 괜찮아 보입니다. 또한's4'를 초기화 할 필요도 없습니다. – jweyrich