파일 내용을 char 배열로 읽은 다음 벡터의 일부 데이터를 벡터로 읽습니다. 어떻게 문자 배열의 범위를 벡터에 복사 할 수 있습니까? vector와 char 배열은 모두 같은 타입 (unsigned char)이다.char 배열의 데이터 범위를 벡터로 복사하는 방법은 무엇입니까?
현재 코드는 다음과 같이 진행됩니다
int p = 0;
for(...){
short len = (arr[p+1] << 8) | arr[p+0];
p+=2;
...
for(...len...){
vec.push_back(arr[p]);
p++;
}
}
내가 어떻게 push_back
와 루프를 놓는 방법으로이 문제를 개선하기 위해시겠습니까? 물론
vec.insert(vec.end(), arr, arr+len);
당신이 원하는 무엇을 아마 더 가까이되는, 또한 assign()
있다 : 벡터에 무언가를 덧붙이
동시에 두 곳에서 동일한 파일의 데이터를 읽으므로 버퍼로 읽어야합니다. 이 할당은 작동하지 않는 것 같습니다 :'vec.assign (arr + p, arr + p + len);'(정확합니까? 적어도 작동합니다) – Newbie
@Newbie : 아무도 그것이 올바른지 알 수 없습니다. 당신은 완전한 코드를 게시하지 않습니다 ... OP의 코드는 또한 당신이하려고하는 것을 추측해야만하는 구멍으로 가득차 있습니다. – etarion
@etarion : 정말요? 내가 보여준 그 코드는 arr [] 배열과 관련된 모든 것이 중요했습니다. – Newbie