Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Kopiowanie pliku z polskimi znakami w ścieżce

Ostatnio zmodyfikowano 2014-10-22 10:24
Autor Wiadomość
DejaVu
» 2014-10-15 11:27:14
Zamiast CP_UTF8 użyj CP_ACP. Masz to napisane w lekcji do której dostałeś linka.
P-118524
skovv
Temat założony przez niniejszego użytkownika
» 2014-10-16 20:18:24
Racja, głupi błąd.. :)

Ale cóż, niestety nadal nie działa. Oto moja funkcja:
C/C++
bool FileCopy( string from, string to ) {
    int size_needed = MultiByteToWideChar( CP_ACP, 0, & from[ 0 ],( int ) from.size(), NULL, 0 );
    std::wstring wstrFrom( size_needed, 0 );
    MultiByteToWideChar( CP_ACP, 0, & from[ 0 ],( int ) from.size(), & wstrFrom[ 0 ], size_needed );
   
    int size_needed2 = MultiByteToWideChar( CP_ACP, 0, & to[ 0 ],( int ) to.size(), NULL, 0 );
    std::wstring wstrTo( size_needed2, 0 );
    MultiByteToWideChar( CP_ACP, 0, & to[ 0 ],( int ) to.size(), & wstrTo[ 0 ], size_needed2 );
   
    LPCWSTR lFrom = wstrFrom.c_str();
    LPCWSTR lTo = wstrTo.c_str();
   
    if( CopyFileW( lFrom, lTo, false ) ) return true;
    //if( CopyFile( from.c_str(), to.c_str(), false ) ) return true;
    else return false;
   
}

Jeśli w ścieżce nie ma polskich znaków to wszystko jest ok, ale w przeciwnym wypadku już niestety nie.
P-118640
skovv
Temat założony przez niniejszego użytkownika
» 2014-10-18 14:33:48
Hmm? Czemu to nie działa? Znów źle konwertuje?
P-118765
skovv
Temat założony przez niniejszego użytkownika
» 2014-10-21 07:23:35
Odświeżam..
P-119142
Monika90
» 2014-10-21 12:39:32
U mnie działa i CopyFileA, i CopyFileW.

Jakiego kodowania używają oryginalne napisy: string from, string to? Albo inaczej: jakie jest ich pochodzenie?
P-119152
skovv
Temat założony przez niniejszego użytkownika
» 2014-10-21 22:25:07
Masz rację! Dodałem przez okienko dialogowe windows i zadziałało! :] Ale jeśli wrzucam przed Drag&drop to ścieżkę dostaję jako char*( używam SDL2 ). Da się coś na to poradzić?
P-119195
maly
» 2014-10-22 10:24:17
W zdarzeniu SDL_DROPFILE dostajesz nazwę pliku w formacie utf8.
P-119198
1 « 2 »
Poprzednia strona Strona 2 z 2