[ mag21 @ 24.03.2006. 12:20 ] @
U kodu: char *p; p = "1234567"; p += 3; *p = '0'; ... Pri javlja se greska: Sementation fault Ne znam sta je uzrok tome. |
[ mag21 @ 24.03.2006. 12:20 ] @
[ Pharos @ 24.03.2006. 12:56 ] @
Ok.
Samo reci šta želiš da uradiš pa da vidimo šta se uraditi može. Imaš dinamički niz 1,2,3,4,5,6,7 Posle pomeraš pokazivač i novi niz je 4,5,6,7 A šta je trećom linijom pisac hteo da kaže... [ Dragi Tata @ 24.03.2006. 13:13 ] @
Ovde je problem:
Citat: mag21: char* p; p = "1234567"; p pokazuje na "string literal" koji se "ugrađuje" u sam exe imidž i to ne možeš d amenjaš, mada možeš da čitaš. Zameni sa Code: char p[] = "1234567"; i "1234567" će biti alocirano na steku, a to možeš da menjaš do mile volje. Zajeban ovaj C ;) [ Pharos @ 24.03.2006. 13:28 ] @
Samo što opet čekamo na njegov odgovor šta on zapravo želi.
Možda mu je bolje Code: char p[30] = "1234567"; Ili 30 zameniti s drugim brojem odnosno max. veličinom niza, ako čovek želi da 1234567 zameni sa 123456789... S druge strane, ako unapred nije poznata max veličina niza, možda je najbolje da radi s povezanim listama i sl. @mag21 U svakom slučaju pogledaj još strcpy i strcat. [ mag21 @ 24.03.2006. 14:17 ] @
Zahvaljujem se na veoma brzom i kompletnom odgovoru.
Dosad sam radio samo sa dekleracijama tipa: char p[] a sad sam probao da malo menjam stil. Zahvaljujem se jos jednom Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|