在我的C程序中,对于文件i / o,只需将其放入:
FILE *fp = fopen("example.txt", "r");
char *buffer = malloc(sizeof(*fp));
在我使用的情况下:
while (fgets(buffer, sizeof(*fp), fp) != NULL) {
//do stuff
}
在这种情况下,写入缓冲区会不会出现缓冲区溢出?
答案 0 :(得分:1)
不,你永远不会得到缓冲区溢出。但看起来您认为sizeof(*fp)
正在产生文件的大小,而事实并非如此。那就是给你一个FILE
结构的大小。