2012-02-25 17 views
0

vector <wstring>에서 파일 이름을 얻고 싶습니다. vecAviFiles의 모든 파일을 다른 경로 (예 : D : \ Test)로 복사하려고합니다.파일 이름을 얻는 방법

int main() 
    { 
     int      iRC   = 0; 
     std::vector<std::wstring> vecAviFiles; 
     std::wstring fileCopiedDestination = L"D:\\"; 





    // Search 'c:' for '.avi' files including subdirectories 
    iRC = SearchDirectory(vecAviFiles, L"c:\\", L"doc"); 
    if(iRC) 
    { 
    std::cout << "Error " << iRC << std::endl; 
    return -1; 
    } 

    // Print results 
    for(std::vector<std::wstring>::iterator iterAvi = vecAviFiles.begin(); iterAvi != vecAviFiles.end(); ++iterAvi) 
    { 

     std::wcout << *iterAvi << std::endl; 
     copy_file(*iterAvi,fileCopiedDestination + path::filename(*iterAvi)); 

    } 

    return 0; 
} 

문제는 내가 fileCopiedDestination 경로에 추가 할 파일 이름을 얻을 수있는 방법 부스트 라이브러리 copy_file(*iterAvi,fileCopiedDestination + path::filename(*iterAvi));의 (제대로 동작하지 않습니다)이 기능입니다. 내가 WIN API

CopyFileW(Input.c_str(),filename(Input.c_str()) , TRUE); 

에서이 기능을 사용하여 samething을 할 수있는 방법을 또는 나는 모든 것이 분명하다고 생각합니다.

+0

수는 "일하지 않는"것에 대해 좀 더 구체적으로 설명해야합니까? 컴파일되지 않습니까, 아니면 복사되지 않습니까? – hmjd

+0

컴파일되지 않음 – pourjour

+0

@pourjour 내 대답보기. 컴파일 오류가 수정되었습니다. – spencercw

답변

1

이 당신이 찾고있는 무엇을 수행해야합니다

path destination = fileCopiedDestination/path(*iterAvi).filename(); 
copy_file(*iterAvi, destination); 

당신이 vector<path>vecAviFiles를 저장하는 경우 그것은 아마도 더 나은 것, 다음 코드는 조금 짧은 것 :

path destination = fileCopiedDestination/iterAvi->filename(); 
관련 문제