Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include "lettura.h"
- #include <stdlib.h>
- char* fgets_malloc(FILE* f) {
- if (f == NULL) {
- return NULL;
- }
- char* buffer = NULL;
- int bufferSize = 0;
- int character;
- int count = 0;
- while ((character = fgetc(f)) != EOF ) {
- if( character != '\n'){
- if (count == bufferSize) {
- bufferSize += 10; // Incremento arbitrario, puoi modificare secondo necessità
- buffer = realloc(buffer, bufferSize);
- if (buffer == NULL) {
- return NULL;
- }
- }
- buffer[count++] = (char)character;
- }
- }
- if (count == 0) {
- buffer = malloc(1);
- if (buffer != NULL) {
- buffer[0] = '\0';
- }
- }
- else {
- buffer = realloc(buffer, count + 1);
- if (buffer != NULL) {
- buffer[count] = '\0';
- }
- }
- return buffer;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement