부호없는 파일의 파일을 벡터로 읽으려고합니다. 이것을하기위한 약간의 순환적인 방법은 입력 파일 스트림을 생성하고, 그 데이터를 문자열 스트림으로 읽고, 문자열 스트림의 내용을 사용하여 벡터를 초기화하는 것입니다. 이 작업을 수행하는 것이 훨씬 더 좋은 방법 일 수 있으며, 기존 코드로 인해 특정 파일을 사용하여 분할 오류가 발생합니다.C++ 이터레이터로 벡터 초기화하기
string file_name = "output/comp" + to_string(start_id) + ".xml";
if(!file_exists(file_name))
{
cout << "File could not be found." << endl;
return 0;
}
ifstream ifs(file_name);
stringstream ss;
ss << ifs.rdbuf();
ss >> noskipws;
vector<unsigned char> raw_data(ss.str().begin(), ss.str().end());
내가 필요한 모든 헤더와 using
선언 및 file_exists()
반환 파일이 존재하는지 여부를 나타내는 부울 값을 포함했다.
내 질문은 : 위의 코드가 잘못된 이유와 동일한 목표를 올바르게 수행하는 가장 좋은 방법은 무엇입니까?
같은
istream_iterator
의를 사용하여 벡터에 직접 파일을 읽을 수 있습니다 –