000
13.09.2009, 14:24 Uhr
~fuli
Gast
|
Hallo Forum,
Code: |
void C_ss09(char *inputt){
FILE*leser;
leser=fopen(inputt,"r");
int beginn=0;//false=0;true=-1;
int **matrix;
int zeilen=0;
int zif=(int *)fgetc(leser);
while(zif!=-1){ if(zif==32)zeilen++; zif=fgetc(leser);}
int i,j,k,z;
int ungerade=0;
matrix = (int **)malloc(zeilen * sizeof(int* ));//speicher reservieren fuer zeilen
// speicher reservieren fuer spalten
for(i=0;i<=zeilen;i++){ matrix[i] = (int *)malloc(3* sizeof(int));
for(j=0;j<3;j++)matrix[i][j]=0; // mit 0 auffulen
}
fclose(leser);
leser=fopen(inputt,"r");
zif=fgetc(leser);
|
gdb spuckt folgendes:
Code: |
C_ss09 (inputt=0x0) at gg2.c:338 338 leser=fopen(inputt,"r"); (gdb) s 340 int beginn=0;//false=0;true=-1; (gdb) s 342 int zeilen=0; (gdb) s 343 int zif=fgetc(leser); (gdb) s Program received signal SIGSEGV, Segmentation fault. 0xb7e8f82d in getc () from /lib/i686/cmov/libc.so.6
|
343 int zif=fgetc(leser); liest wohl falsch ein? Aber wieso? Müsste doch richtig gecastet werden? |