[ Príspevkov: 5 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.07.08
Príspevky: 197
Témy: 40 | 40
Bydlisko: BA
NapísalOffline : 17.11.2012 18:45 | delete char*

Zdravim ..
Ked v C alokujem char* a potom ho zmazem prebehne vsetko v poriadku .. ale ak ho este pred zmazanim naplnim nejakym stringom tak potom ak ho chcem zmazat vyhlasi segmentation falut.. Neviete reco to hlasi chybu? .. dakujem

Kód:
char *p = new char[200];
p = "nejaky text";
delete [] p;


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 11.01.18
Príspevky: 1434
Témy: 2 | 2
Bydlisko: Praha / Rev...
NapísalOffline : 17.11.2012 19:27 | delete char*

Zle, zle, zle.

Ty si alokuješ 200 charov na halde a na takto alokované miesto ti ukazuje premenná p (typu char ukazateľ) Potom si p prepíšeš na adresu reťazca zo zásobníku. No a vtedy je tých tvojích 200 charov na halde nenávratne preč.

Na kopírovanie reťazcov preto používaj funkcie zo string.h (a síce strcpy/strncpy)


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.07.08
Príspevky: 197
Témy: 40 | 40
Bydlisko: BA
Napísal autor témyOffline : 17.11.2012 19:42 | delete char*

Vdaka .. s str cpy to ukguje ako ma ..
takze ked napisem p = "nejaky text"; , tak vytvorim na stacku nejaky novy string a na tie povodne chary na heape uz nic neukazuje? .. lebo akosi tomu nechapem preco sa to prave takto chova ..


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 11.01.18
Príspevky: 1434
Témy: 2 | 2
Bydlisko: Praha / Rev...
NapísalOffline : 17.11.2012 19:59 | delete char*

Tieto klasické reťazce v Cčku sú len polia charov. Takže je to v podstate ekvivalentné s takýmto kódom
Kód:
int * a = new int[3];
int b[3] = {1,2,3};
a = b;


Vidíš, kde sa ti stratilo pole na heape?


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 10.07.08
Príspevky: 197
Témy: 40 | 40
Bydlisko: BA
Napísal autor témyOffline : 17.11.2012 20:04 | delete char*

Aha .. uz chapem.
Dakujem za vysvetlenie


 [ Príspevkov: 5 ] 


delete char*



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

C++ problem s char

v Assembler, C, C++, Pascal, Java

4

223

07.10.2012 18:52

Fico

V tomto fóre nie sú ďalšie neprečítané témy.

Zmena char na int

v Assembler, C, C++, Pascal, Java

6

302

02.02.2012 23:18

street_punk

V tomto fóre nie sú ďalšie neprečítané témy.

C Int to Char

v Assembler, C, C++, Pascal, Java

2

138

20.10.2012 15:13

faraon

V tomto fóre nie sú ďalšie neprečítané témy.

odelenie num a char

v PHP, ASP

2

230

10.11.2009 20:22

pilná lama glama

V tomto fóre nie sú ďalšie neprečítané témy.

mer. char.zenerovej diody

v Elektronika

0

233

10.01.2012 20:34

p4tooo

V tomto fóre nie sú ďalšie neprečítané témy.

char pole do int

v Assembler, C, C++, Pascal, Java

0

221

19.01.2011 22:38

1daemon1

V tomto fóre nie sú ďalšie neprečítané témy.

Banalny priklad-char. tranzistora

v Elektronika

10

826

07.03.2007 12:43

Taomas

V tomto fóre nie sú ďalšie neprečítané témy.

C - konverzia char na int

v Assembler, C, C++, Pascal, Java

14

454

02.04.2011 18:16

M4rek

V tomto fóre nie sú ďalšie neprečítané témy.

testovanie prvku pola char [C++]

v Assembler, C, C++, Pascal, Java

6

314

06.07.2010 8:09

koso

V tomto fóre nie sú ďalšie neprečítané témy.

DELETE

v Databázy

1

616

11.10.2007 19:13

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

C: z getchar() do char *retazec

v Assembler, C, C++, Pascal, Java

9

860

08.10.2010 11:54

Blackshadow

V tomto fóre nie sú ďalšie neprečítané témy.

Práca s dynamickou pamäťou v char

v Assembler, C, C++, Pascal, Java

2

198

30.04.2012 14:10

elementstyle

V tomto fóre nie sú ďalšie neprečítané témy.

Update stĺpca char cez regulárny výraz

v Databázy

2

445

29.10.2011 16:40

camo

V tomto fóre nie sú ďalšie neprečítané témy.

procedure delete

v Delphi, Visual Basic

6

447

15.12.2009 23:17

stopa27

V tomto fóre nie sú ďalšie neprečítané témy.

Delete problém

v PHP, ASP

20

665

30.11.2008 20:32

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

delete subor

v Ostatné programy

7

444

18.08.2008 0:37

dedko45



© 2005 - 2018 PCforum, edited by JanoF