Ultima modifica:
Prendi questo codice
Quando lo esegui dovrebbe stamparti dei messaggi un po' più significativi. Per prima cosa dovrebbe stamparti la tua working directory e dove si trova l'eseguibile rispetto alla tua working directory. Crea un file chiamato "test.txt" all'interno della working directory stampata, poi prova a rieseguire il programma per vedere se te lo trova (i.e., se stampa "Looks good!"). Personalmente, ti consiglio anche di abituarti ad aprire il terminale e di far partire i tuoi programmi da lì: gli IDE si usano per programmare/debuggare, non per eseguire. Devi fare
Se riesci a far funzionare questo codice, sarai anche in grado di capire qual è il problema nel tuo. Come ti ha spiegato JunkCoder, plausibilmente il tuo programma non riesce ad aprire "file1.c" perché quel file non si trova nella tua working directory. In caso non lo sai, la working directory sarebbe la cartella da cui stai lanciando il tuo eseguibile. Nota che non necessariamente è la cartella in cui è presente l'eseguibile perché, per esempio, puoi fare
Se dovessi avere ancora problemi copia e incolla l'output, almeno anche noi capiamo qualcosa in più.
C:
#include <stdio.h>
#include <unistd.h>
int main(int argc, char *argv[]) {
char cwd[1024];
if (getcwd(cwd, sizeof(cwd)) != NULL) {
printf("The current working directory is: %s\n", cwd);
printf("In respect of your working directory, the path of your executable is: %s\n", argv[0]);
} else {
perror("getcwd()");
}
const char *filename = "test.txt";
FILE *fp = fopen(filename, "r");
if (fp == NULL) {
perror(filename);
return 1;
}
printf("Looks good!\n");
fclose(fp);
return 0;
}
Quando lo esegui dovrebbe stamparti dei messaggi un po' più significativi. Per prima cosa dovrebbe stamparti la tua working directory e dove si trova l'eseguibile rispetto alla tua working directory. Crea un file chiamato "test.txt" all'interno della working directory stampata, poi prova a rieseguire il programma per vedere se te lo trova (i.e., se stampa "Looks good!"). Personalmente, ti consiglio anche di abituarti ad aprire il terminale e di far partire i tuoi programmi da lì: gli IDE si usano per programmare/debuggare, non per eseguire. Devi fare
cd /percorso/del/tuo/eseguibile
per cambiare working directory e poi ./nomefile
per eseguire.Se riesci a far funzionare questo codice, sarai anche in grado di capire qual è il problema nel tuo. Come ti ha spiegato JunkCoder, plausibilmente il tuo programma non riesce ad aprire "file1.c" perché quel file non si trova nella tua working directory. In caso non lo sai, la working directory sarebbe la cartella da cui stai lanciando il tuo eseguibile. Nota che non necessariamente è la cartella in cui è presente l'eseguibile perché, per esempio, puoi fare
/percorso/del/tuo/eseguibile/nomefile
per eseguire il tuo programma anche se sei fuori dalla cartella "eseguibile".Se dovessi avere ancora problemi copia e incolla l'output, almeno anche noi capiamo qualcosa in più.