char* i char[]

0

Dlaczego to nie działa i jak zrobić aby działało? Jest jakiś sposób aby char* wrzucić do char[]? Albo mając char[] otrzymać char*?

char tab[10];
tab = "asddsa";
1

Możesz użyć strcpy albo strcat: http://www.cplusplus.com/reference/clibrary/cstring/strcat/

//tzn. po zastanowieniu - w tym konkretnym przypadku zdecydowanie strcpy

0

Jest jakiś sposób aby char* wrzucić do char[]?

char* jest tylko wskaznikiem na jakies miejsce w pamieci. Chyba chcesz skopiowac tekst ktory mozesz zlokalizowac dzieki wskaznikowi :)

A co do przykładu nie lepiej robić:

char tab[10] = "asddsa";

A jezeli potrzebujesz w trakcie działania programu zmienic tekst to jak napisali powyzej.
strcpy(&tab[0], "asddsa"); - zastąpi istniejący tekst w tab[] tekstem podanym w drugim argumencie.
strncpy(&tab[0], "asddsa", 6); - zastąpi istniejący tekst w tab[] tekstem podanym w drugim argumencie nie przekraczając ilosci znakow podanych w trzecim argumencie

Używaj lepiej tej drugiej.

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