小编ric*_*ght的帖子

内存泄漏与malloc和fgetc

我在使用malloc和getchar从用户那里读取类似内容时遇到了一些麻烦.我得到了结果,然而,我使用valgrind得到了内存泄漏.我对此很无能为力,并且问了我的同学和导师,但似乎没有人知道为什么.

char *ReadLineFile(FILE *infile){
   int i=0;
   char c;
   char *newStringLine;
   newStringLine = (char *) malloc(sizeof(char));
   while( (c = fgetc(infile)) != '\n' ){
        newStringLine[i++] = c;
        realloc(newStringLine, (sizeof(char) * (i+1)));
   }
   newStringLine[i] = '\0';
   return newStringLine;
}
Run Code Online (Sandbox Code Playgroud)

Valgrind给了我几个错误,包括1的无效写/读和无效的realloc.

c pointers realloc dynamic-memory-allocation

1
推荐指数
1
解决办法
209
查看次数

标签 统计

c ×1

dynamic-memory-allocation ×1

pointers ×1

realloc ×1