Mam mały problem z przekazaniem adresu do funkcji i operowaniu na wskaźniku do const char*
Otóż nie mogę odczytać adresu i wartości tej zmiennej wskaźnikowej.
Dla przykładu:
// NIE DZIALA ( segmentation fault ) z &(*t) też nie działą ( śmieci )
const char* foo(const char* t) {
printf("Value: %s | Address: %p\n", *t, *t);
t = "new value";
}
// dla char* DZIALA
void foo2(char* t)
{
printf("Value: %s | Address: %p\n", &(*t), &(*t));
}
// wywolanie w main:
const char* text = "jakas stala znakowa";
char text2[] = "jakis tekst";
foo(&text);
foo2(&text2);
Z foo2 nie ma problemu, ale z const char* jest już problem adresy się nie zgadzają. Tak więc zapisać nowego adresu nie można, mimo, że nie jest to stały wskaźnik tylko pokazuje na stałą znakową.
Jak odczytać adres zmiennej const char* tak aby można było jej coś przypisać czy odczytać ( wyłuskiwanie nic nie daje ).