c - Warning initialization makes integer from pointer without a cast with fgets -


this question has answer here:

i want want read character string, on stdin, have chosen fgets. got warning: initialization makes integer pointer without cast.

here code:

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <stddef.h>  #define max_linia 301  int main(int argc,char *argv[]){     char *buffer;     printf("enter input\n");     if (fgets(buffer,max_linia-1,stdin)==null) printf("error")     else printf("%s", buffer);     return 0: } 

you using buffer without initialising it, causes undefined behaviour.

you don't need use pointer, , can use char array instead (given max size defined):

char buffer[max_linia]; 

the fgets better written as:

if(fgets(buffer,sizeof(buffer),stdin)==null) 

Comments

Popular posts from this blog

c++ - CPP, 'X' button listener -

shared memory - gstreamer shmsrc and shmsink with h264 data -

.net - Bulk insert via Dapper is slower than inserting rows one-by-one -