fopen non funziona con XCode

La funzione fopen(FILE *fp) in XCode non funziona, ho messo il file di testo nella directory principale, ma non funziona, è strano perché, eseguendo da terminale funziona bene, ma l’esecuzione da IDE non.

La sintassi che uso io è questo:

FILE *fp=fopen("name.txt", "r");
if(fp==NULL)
{
    printf("the text file can't be opened");
    exit(0);
}
else
    return fp;

E restituire sempre NULL.

  • Quando si esegue dall’IDE, è necessario essere in esecuzione in una directory diversa da root. Aggiungere strerror(ernno) per il printf() per scoprire il motivo per cui fopen() non riesce.
  • L’esecuzione del programma dal Xcode IDE Xcode di configurazione per specificare la directory di lavoro corrente per l’apertura di un file in detto-la directory del tempo di esecuzione ha tutto a che fare con questo.
  • certo fa 🙂 forse il titolo della domanda non è abbastanza specifico
InformationsquelleAutor Chepeman | 2012-11-23

 

2 Replies
  1. 21

    beh, qual è la directory di lavoro quando viene eseguito tramite xcode?

    per impostazione predefinita, IIRC isnt set e che potrebbe essere la differenza tra IDE e terminale.

    — impostare la directory di lavoro:

    vai a:
    il prodotto > schema di > modifica del regime di…

    ci vai a:

    scheda opzioni e scegliere una directory di lavoro

    • +1: Xcode schemi sono di molti di meno-che-concetti intuitivi per l’esecuzione di un programma sotto la loro IDE. Esso contiene una ricchezza di opzioni, tra gli argomenti del programma, la directory di lavoro, etc. Questa risposta trapani direttamente all’OP la domanda se si vuole eseguire il suo programma di un determinato lavoro-dir, mentre anche dando una gomitata a lui per vedere che cosa è disponibile con regimi.
    • La soluzione è stata mettere l’intero percorso, come la “/Users/User/Documents/Develop/file.txt” grazie per il vostro aiuto.
    • certo, che funziona anche come non hai bisogno di thw directory di lavoro a tutti 🙂 probabilmente è meglio troppo (IMO)
  2. 0

    È perché la directory principale non è la directory di lavoro di IDE. Modificare la configurazione per utilizzare il root directory del tuo IDE directory di lavoro, o mettere name.txt nell’IDE directory di lavoro.

Lascia un commento