Δημοσιεύτηκε: 16 Φεβ 2012, 21:35
από Star_Light
ΣΤην σελιδα 289 του Γκιουρδα μαθετε την C σε 24 ωρες λεει

Οτι μπορεις να χρησιμοποιήσεις την realloc με τον παρακατω τροπο

realloc( ptr , 0 ) αυτο λεει.

επισης

Κώδικας: Επιλογή όλων


#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main()
{
char *s= NULL;
int len;

printf(" Give the length : " );
scanf("%d" , &len);

printf(" Give a string: ");
fgets( s , len , stdin );

s=calloc(len , sizeof(int));

if( !s )
printf(" Calloc Failed " );

puts( s );

free ( s );

return 0;
}



εδω μου πεταει segm fault μετα το length που δινω... μην αρχιζεις να φωναζεις παλι απλα δεν ξερω αλλο τροπο να το διαβασω.
Ο gdb μου δινει αυτο ->

Κώδικας: Επιλογή όλων
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/kostas/PROGRAMS/a.out...done.
(gdb) run
Starting program: /home/kostas/PROGRAMS/a.out
Give the length : 3

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7adfaa1 in memcpy () from /lib/libc.so.6
(gdb)