Question: / / used to read each charcter char * freads ( char * str , int n , FILE * stream ) { if (

// used to read each charcter
char *freads(char *str, int n, FILE *stream){
if (n <=0||!str ||!stream){
return NULL; // Handle edge cases
}
int i =0;
int ch;
int newline_found =0;
while (i < n -1){
ch = fgetc(stream);
if (ch == EOF){
if (i ==0){
return NULL; // No characters read before EOF
}
break;
}
str[i++]=(char)ch;
if (ch =='
'){
newline_found =1;
break;
}
}
// Handle potential line overflow
if (!newline_found && ch == EOF){
str[i]='\0'; // Null-terminate even if overflow occurred
} else {
str[i]='\0';
}
return str;
} I need this function to not use fgets but still work

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!