salve a tutti!!
il mio problema riguarda un semplicissimo if. passo una stringa tramite puntatore ad una funzione. nella sottofunzione c'è il suddetto if che deve controllare il valore della variabile puntatore a caratteri (stringa) passata e fare le relative operazioni.
per semplificare scrivo anche delle linee del codice da me usato (e non funzionante):
nel programma chiamante:
...
/*dichiarazione della stringa*/
char *girone;
int n=2;
/*allocazionedella stringa (non sapevo se necessaria, ma mi sembra di si)*/
girone = (char *)calloc(n, sizeof(char));
/*input da tastiera del valore da assegnare alla stringa*/
scanf("%s", girone);
/*richiamo della funzione*/
inserimento_gironi(girone);
...
nel programma chiamato (il prototipo è "void inserimento_gironi(char *girone)"):
...
/*si commentano da sole...*/
printf("\nGirone scelto: %s", girone);
if (girone == "a")
{
if ((fp=fopen("par_a.txt", "a")) == NULL)
{
printf("\nErrore apertura par_a.txt");
}
printf("\nApertura del file par_a.txt in corso...\nFile aperto con successo!");
}
le linee fanno quello che devono fare fino al solito ciclo if (quello che controlla "girone == "a""). ed è proprio la condizione che ho imposto che non mi convince per nulla, ma non riesco proprio a trovare il modo per risolvere.![]()
![]()
grazie
JmDeF