功能“fread”导致分段错误

时间:2013-12-19 16:22:48

标签: c sizeof fread

我对fread感到不满;这是非常基础的,但我无法找到答案。

#include <stdio.h>
#include <stdlib.h>
void main () 
{
    int i;
    FILE *fp;
    char *re;
    fp = fopen("/net2/192.168.42.151/stud3/2013/dobo1298/data.txt","r");
    i = sizeof(char);
    printf("%d",i);
    re = calloc(10,i);
    fread(re,i,1,fp);
    printf("%s",*re);
}

1 个答案:

答案 0 :(得分:6)

fread没问题。问题在于printf说明符。

printf("%s",*re);  
         ^Expects string.  

但您正在传递char*re)。如果您想使用%s说明符,请将re作为参数传递给printf