ID3 프레임과 그 값을 TagLib (1)로 읽고 CLucene (2)로 색인하려고합니다. 전자는 std::vector<char>
(3)으로 프레임 ID를 반환하고 후자는 필드 이름을 리눅스에서 tchar*
[wchar_t*
] (4)로 씁니다. 두 사람 사이에 링크를 만들어야합니다. 어떻게 std::vector<char>
에서 wchar_t*
으로 STL로 변환 할 수 있습니까? 당신의 char
의이 같은 강조 문자 또는 아무것도를 포함하지 않는 단순한 경우에는 당신에게std :: vector <char>에서 wchar_t로 변환 *
(1) http://developer.kde.org/~wheeler/taglib.html
(2) http://clucene.sourceforge.net/
(3) http://developer.kde.org/~wheeler/taglib/api/classTagLib_1_1ID3v2_1_1Frame.html#6aac53ec5893fd15164cd22c6bdb5dfd
(4) http://ohnopublishing.net/doc/clucene-0.9.21b/html/classlucene_1_1document_1_1Field.html#59b0082e2ade8c78a51a64fe99e684b2
'std :: vector'의 생성자를 사용하여'std :: copy'를 피할 수 있습니다 :'std :: vector field_name (frameID.begin(), frameID.end()); 조금 더 간결합니다. –
GManNickG
이로 인해 서명 된 char이있는 시스템에서 바람직하지 않은 동작이 발생할 수 있습니다. 문제는 복사 작업 중에 적용될 정적 형변환이 부정적인 wchar_t 값으로 음수가되기 전에 char 값> max를 돌려 주지만 아마도 원하는대로 비트 형 복사본이 아닙니다. –
> "귀하의 문자에는 악센트 부호가있는 문자가 없거나 그런 문자가 없습니다."실제로는 입니다. 나는 러시아 출신이다. 그래서 러시아 노래를 가지고있다 .-) – theorist