Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C] Problema con funzione FREE

    codice:
    void output_prob_name()
    {
    	char* prob_name = NULL;
    
    	if(!(prob_name = (char*)malloc(MAX_LENGTH*sizeof(char))))
    		error("\nErrore di allocazione del nome del file contenente i dati del problema.\n");
    
    	printf("\nInserisci il nome del file contenente i dati del problema: ");
    	fflush(stdin);
    
    	if(!(scanf_s("%s",prob_name,strlen(prob_name))))
    		error("\nNome del file non valido o troppo lungo.\n");
    
    	free(prob_name);
    	
    	return;
    }
    Non badate all'inutilità della funzione, sto facendo delle prove.
    Vorrei capire perchè la free mi spara un'eccezione!
    Probabilmente sbaglio ad utilizzare la scanf_s?
    Grazie!

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381

    Re: [C] Problema con funzione FREE

    codice:
    if(!(scanf_s("%s",prob_name,MAX_LENGTH*sizeof(char)-1 )))
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    Grazie, potresti spiegarmi cosa rappresenta il terzo parametro, che non sono riuscito a capirlo dalla documentazione?

  4. #4
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Quanti caratteri intendi leggere o la lunghezza massima della stringa passata come parametro.
    Tuttavia il tuo problema dipendeva dal fatto che cercavi di ottenere una lunghezza da un puntatore spazzatura.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.