[ C++ ]Problem z konwersją char* na char

0

Witam.

Jestem początkującym w C++ i trafił mi się drobny błąd w funkcji ( char ), mianowicie:

c++:

#include <cstdlib>
#include <iostream>

using namespace std;
int ktoryScreen = 0;
char ktoryScreen2[] = "";
char mainFilePath[] = "C:\\Temp\\" ;
char destinatedFilePath[] = "C:\\" ;

void tworzenieNazwyScreena()
{
     sprintf(ktoryScreen2, "%d%s", ktoryScreen, ".bmp");
}

char tworzenieSciezkiPliku(char sciezkaWyjsciowa[], char ktoryScreen3[])
{ 
     sprintf(sciezkaWyjsciowa, "%s", ktoryScreen3);
     return sciezkaWyjsciowa;
}

int main(int argc, char *argv[])
{
   
    tworzenieNazwyScreena();
    cout << ktoryScreen2 << endl;
    cout << tworzenieSciezkiPliku(mainFilePath, ktoryScreen2)<< endl;
    cout << tworzenieSciezkiPliku(destinatedFilePath, ktoryScreen2) << endl;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}

Program ma na celu stworzenie ścieżki do pliku w zależności od jego nazwy ( ktoryScreen ) wyrażonej za pomocą liczby jak i ścieżki alternatywnej - docelowej przy kopiowaniu.

Błąd, który otrzymuję jest taki:

c++:

 C:\Asia\Funkcje_zamiana_char\main.cpp In function `char tworzenieSciezkiPliku(char*, char*)':
18 C:\Asia\Funkcje_zamiana_char\main.cpp invalid conversion from `char*' to `char'
 C:\Asia\Funkcje_zamiana_char\Makefile.win [Build Error]  [main.o] Error 1

Wiem, że chodzi o pointers ( wskaźniki ) przy przekazywaniu w return tylko jakoś niezbyt potrafię to ogarnąć.

Z góry dziękuję za pomoc =)

2

Ten kod jest zły od początku do końca. Olej to. Zapomnij o char i char *. Poczytaj o std::string i już nigdy nie używaj char * do zabaw z napisami.

http://www.cplusplus.com/reference/string/string/

0

Okej. Jednakże co w przypadku

CopyFileA(,,,)

Gdzie pobiera (char, char, bool)

 String niezbyt tutaj pasuje?

1 użytkowników online, w tym zalogowanych: 0, gości: 1