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

[C++] Funkcja CopyFileA() ( Białe znaki )

Ostatnio zmodyfikowano 2017-11-19 13:25
Autor Wiadomość
KIM_PEEK
Temat założony przez niniejszego użytkownika
[C++] Funkcja CopyFileA() ( Białe znaki )
» 2017-11-19 11:33:10
Dzień dobry

Buduje program który będzie wykonywał operacje na plikach. Posiadam plik .txt w którym zapisane są ścieżki do plików które mają zostać skopiowane. Funkcją getline zapisuję ścieżkę do zmiennej typu string której potem używam jako argumentu w funkcji CopyFileA(). Problem pojawia się gdy ścieżka zawiera białe znaki (spacje) wtedy funkcja nie kopiuje plików oraz wpływa na kopiowanie innych.

C/C++
void CopyFiles()
{
    fstream plik_txt;
    string sciezka;
    plik_txt.open( "logs/log_txt.txt", ios::in );
    if( plik_txt.good() == false )
    {
        //SEND ERROR TO LOG
    }
    else
    {
        while( getline( plik_txt, sciezka ) )
        {
           
            i++
            stringstream ss;
            ss << i;
            string str = ss.str();
           
           
            string docelowa = "folder1/TXT_" + str + ".txt";
            CopyFileA( sciezka.c_str(), docelowa.c_str(), true );
           
        }
       
       
    } //else
   
    plik_txt.close();
}
P-166971
Glorrow
[C++] W odpowiedzi
» 2017-11-19 13:25:50
Niewiem czy wiesz ,że w konsoli jeśli chcesz odwołać się do adresu z białym znakiem
należy wpisać go w apostrofach np.

 Zamiast
  C:/dokumenty/dupa kodu.txt

 Należy wpisać
  'C:/dokumenty/dupa kodu.txt'

To powinno załatwić sprawę
P-166972
« 1 »
  Strona 1 z 1