Tag: REALLOC
char* scanString() { char* str = NULL; char* temp = NULL; int numOfChars = 0; char c = ‘0’; while (c != ‘\n’) { scanf(“%c”, &c); str = (char*)realloc(str, sizeof(char) * (numOfChars + 1)); temp = str; if (str == NULL) { str = temp; return str; } str[numOfChars] = . . . Read more
La función remove_multiple toma un parámetro (una cadena C) y elimina los duplicados. Debe devolver la cadena asignada dinámicamente en el montón (heap). He intentado: – crear un nuevo puntero asignado dinámicamente (s); – si el carácter actual (de str) no es igual al siguiente carácter, simplemente copiarlo en s, . . . Read more
char* scanString() { char* str = NULL; char* temp = NULL; int numOfChars = 0; char c = ‘0’; while (c != ‘\n’) { scanf(” %c”, &c); if (c != ‘\n’) { if (numOfChars == 0) { str = (char*)malloc(sizeof(char)); temp = str; if (str == NULL) return str; str[0] . . . Read more
#include <stdio.h> #include <stdlib.h> void ingresar_todo(char* array) { int c = 0; int aumentar = 20; int numero_de_caracteres = 0; for (int i = 0; (c = getchar()) != ‘\n’; i++) { ++numero_de_caracteres; if (numero_de_caracteres % 10) { array = (char*)realloc(array, aumentar + sizeof(char)); if (array == NULL) { printf(“¡No . . . Read more
Estoy aprendiendo sobre malloc() y free() en C y me encontré con una pregunta importante que no pude encontrar en ningún lugar. Como ejemplo, tomemos este fragmento de código simple: int main(int argc, char *argv[]) { char *test = malloc(sizeof(char) * 30); strcpy(test, “test”); FILE *file = fopen(“filename”, “r”); if . . . Read more