čo je Segmentation fault

K

krishna_1980

Guest
Nasledujúci kód je dávať runtime chybu "Segmentation fault". Prečo? char * str, fp = fopen ("f1.txt", "r"); fgets (str, 10, FP), puts (str), ale nasledujúci kód funguje ........... ...................................... char * str, fp = fopen ("f1.txt", "r"); fgets (str, 10, FP) for (i = 0; i
 
Neviem nič o C + +, ale videl som niečo, čo vo svojej funkcii: Toto je príklad dáva funkcie.
Code:
 * dáva príklad: Ahoj všetci! * / # Include int main () {char string [] = "Hello world!" Puts (string);}
V kóde ste definovali str ako ukazovateľ, ako chápem, že v príklade je nie je ukazovateľ, len aray.try pomocou poľa, a nie ukazovateľ Aj ussually kód vo FORTRAN a dostanem chybové hlásenie "Segmentation fault", keď mám problémy s pamäťou prístup, napríklad keď mám definované pole o veľkosti 15 a snažím pristupovať Array [17]. Potom som si Segmentation fault.
 
Uviedol ste len ukazovateľ na pamäť, ale ani deklarovať premennú pre uloženie čítať reťazec, čo je problém. [Size = 2] [color = # 999999] Pridané po 7 minútach: [/color] [/size] Segmentation fault je spôsobené prístupom pamäť tzv segmente, ktorý nesmie byť prístupná z iného segmentu.
 
Dobrý deň, je problém, je nutné, aby strore konci reťazca "\\ 0". Pri tlači pomocou druhej metódy, tj pomocou loop, budete presne tlačiť len počet znakov, čítanie a tlač. To bude fungovať dobre. Ale počas prvá metóda, dá (), ktorá práve tlačí reťazec tým, že číta znak po znaku a pozrite sa na koniec reťazca, tj '\\ 0', ktorý nie je uložený v reťazci pri čítaní. Je nutné explicitne ukladať "EOS" na konci reťazca, inak budete musieť použiť prvú metódu. Kars
 
Myslím, že reťazec konstantní automaticky ukončená '\\ 0', tak si myslím, že je v poriadku.
 
Dobrý deň, veľký. Je potrebné prideliť pamäť pre "str" pred jeho použitím. Kars.
 
Nie, pamäť pre ukazovateľ pridelené, ale to bolo nikdy inicializovaný adresou platné char miesto. V tomto prípade sa hodnoty do pamäte, ktorá bola pridelená, je hodnota, ktorá spôsobila chyba segmentácia.
 

Welcome to EDABoard.com

Sponsor

Back
Top