Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Errore strani in fase di compilazione
Forum - C/C++ - Errore strani in fase di compilazione

Avatar
FeFeZ (Normal User)
Newbie


Messaggi: 7
Iscritto: 14/06/2017

Segnala al moderatore
Postato alle 15:22
Venerdì, 16/06/2017
Ciao a tutti, dopo aver compilato il seguente programma mi escono questi due errori :
1-  cannot open output file bin\Debug\2016-06-16.exe Permission denied|
2-  error: ld returned 1 exit status|

Riuscireste a spiegarmi cosa significano quei due errori e come risolverli? Grazie in anticipo!
PS: Il file l'ho creato

Il programma è il seguente:

Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define NOME "segovia.txt"
  4. #define N 10
  5. #include <time.h>
  6.  
  7. int main(int argc, char *argv[])
  8. {
  9.     int i,j,Iron,Thor,tempo_rim,bomba_dis=0,tempo,k,y,bombe_attive;
  10.     char mappa[N][N];
  11.  
  12.     if(argc!=2)
  13.     {
  14.         printf("errore linea di comando");
  15.         return -1;
  16.     }
  17.  
  18.   FILE *fp;
  19.   fp=fopen(NOME,"r");
  20.   if(fp==NULL)
  21.   {
  22.    printf("errore apertura file");
  23.    return -2;
  24.   }
  25.  
  26.   //salvo la mappa
  27.   for(i=0;i<N;i++)
  28.   {
  29.       for(j=0;j<N;j++)
  30.       {
  31.           fscanf(fp,"%c",&mappa[i][j]);
  32.       }
  33.   }
  34.  
  35.   fclose(fp);
  36.  
  37.   //estrazione numer;o casuale
  38.   sscanf(argv[1],"%d",&tempo_rim);
  39.  
  40.   i=0;
  41.   j=0;
  42.   k=0;
  43.   y=0;
  44.   for(tempo=0;tempo<tempo_rim;tempo=tempo+10)
  45.   {
  46.     srand(time(NULL));
  47.     Iron=rand()%4;
  48.     Thor=rand()%4;
  49.     if(Iron==0)
  50.     {
  51.      i++;
  52.  
  53.      if(mappa[i][j]=='B'){
  54.         bomba_dis++;
  55.  
  56.      }
  57.         else
  58.             {
  59.              if(i>N-1||mappa[i][j]=='*')
  60.              {
  61.               i--;
  62.              }
  63.             }
  64.  
  65.         printf("Time: %d Pos: I(%d,%d) ",tempo,i,j);
  66.     }
  67.  
  68.     if(Iron==1)
  69.     {
  70.      i--;
  71.  
  72.      if(mappa[i][j]=='B'){
  73.         bomba_dis++;
  74.  
  75.      }
  76.         else
  77.             {
  78.              if(i<0||mappa[i][j]=='*')
  79.              {
  80.               i++;
  81.              }
  82.             }
  83.  
  84.         printf("Time: %d Pos: I(%d,%d) ",tempo,i,j);
  85.     }
  86.  
  87.  
  88.      if(Iron==2)
  89.     {
  90.      j++;
  91.  
  92.      if(mappa[i][j]=='B'){
  93.         bomba_dis++;
  94.  
  95.      }
  96.         else
  97.             {
  98.              if(j>N-1||mappa[i][j]=='*')
  99.              {
  100.               j--;
  101.              }
  102.             }
  103.  
  104.         printf("Time: %d Pos: I(%d,%d) ",tempo,i,j);
  105.     }
  106.  
  107.      if(Iron==3)
  108.     {
  109.      j--;
  110.  
  111.      if(mappa[i][j]=='B'){
  112.         bomba_dis++;
  113.  
  114.      }
  115.         else
  116.             {
  117.              if(j<0||mappa[i][j]=='*')
  118.              {
  119.               j++;
  120.              }
  121.             }
  122.  
  123.         printf("Time: %d Pos: I(%d,%d) ",tempo,i,j);
  124.     }
  125.  
  126.     if(Thor==0)
  127.     {
  128.      k++;
  129.  
  130.      if(mappa[k][y]=='B'){
  131.         bomba_dis++;
  132.  
  133.      }
  134.         else
  135.             {
  136.              if(k>N-1||mappa[k][y]=='*')
  137.              {
  138.               k--;
  139.              }
  140.             }
  141.  
  142.         printf("Time: %d Pos: T(%d,%d) ",tempo,k,y);
  143.     }
  144.  
  145.     if(Thor==1)
  146.     {
  147.      k--;
  148.  
  149.      if(mappa[k][y]=='B'){
  150.         bomba_dis++;
  151.  
  152.      }
  153.         else
  154.             {
  155.              if(k<0||mappa[k][y]=='*')
  156.              {
  157.               k++;
  158.              }
  159.             }
  160.  
  161.         printf("Time: %d Pos: T(%d,%d) ",tempo,k,y);
  162.     }
  163.  
  164.  
  165.      if(Thor==2)
  166.     {
  167.      y++;
  168.  
  169.      if(mappa[k][y]=='B'){
  170.         bomba_dis++;
  171.  
  172.      }
  173.         else
  174.             {
  175.              if(y>N-1||mappa[k][y]=='*')
  176.              {
  177.               y--;
  178.              }
  179.             }
  180.  
  181.         printf("Time: %d Pos: T(%d,%d) ",tempo,k,y);
  182.     }
  183.  
  184.  
  185.      if(Thor==3)
  186.     {
  187.      y--;
  188.  
  189.      if(mappa[k][y]=='B'){
  190.         bomba_dis++;
  191.  
  192.      }
  193.         else
  194.             {
  195.              if(y<0||mappa[k][y]=='*')
  196.              {
  197.               y++;
  198.              }
  199.             }
  200.  
  201.         printf("Time: %d Pos: T(%d,%d) ",tempo,k,y);
  202.     }
  203.   }
  204.   bombe_attive=0;
  205.   for(i=0;i<N;i++)
  206.   {
  207.       for(j=0;j<N;j++)
  208.       {
  209.         if(mappa[i][j]=='B')
  210.         {
  211.             bombe_attive++;
  212.         }
  213.       }
  214.   }
  215.  
  216.   if(bombe_attive==bomba_dis)
  217.   {
  218.       printf("Missione riuscita");
  219.   }
  220.   else
  221.   {
  222.       printf("Missione fallita");
  223.   }
  224.     return 0;
  225. }




Ultima modifica effettuata da FeFeZ il 16/06/2017 alle 15:23
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 16:53
Venerdì, 16/06/2017
Per cominciare, dare al tuo programma il nome

2016-06-16

mi sembra assurdo.

In secondo luogo, il problema può essere causato dal fatto che stai ancora eseguendo il file .exe e che vuoi compilarlo. Questo ovviamente genera l'errore in questione.

Vedi da task manager se il processo 2016-06-16.exe è in esecuzione e chiudilo prima di compilare.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 16:54
Venerdì, 16/06/2017
Prova a cancellare la cartella debug e rigenerarla, se continua a dare problemi dai al compilatore i diritti di amministratore oppure ancora meglio cambia i permessi relativi alla radice del progetto.

PM Quote
Avatar
AldoBaldo (Member)
Guru


Messaggi: 699
Iscritto: 08/01/2015

Segnala al moderatore
Postato alle 19:48
Venerdì, 16/06/2017
A me quel tipo di errore capita proprio quando il file .exe è in uso perché in qualche modo il processo corrispondente non è stato chiuso. Passando da ctrl+alt+canc apro "Gestione attività" e uccido il processo incriminato. A quel punto tutto ricomincia a funzionare come dovrebbe.

Ultima modifica effettuata da AldoBaldo il 16/06/2017 alle 19:48


ATTENZIONE! Sono un hobbista e l'affidabilità delle mie conoscenze informatiche è molto limitata. Non prendere come esempio il codice che scrivo, perché non ho alcuna formazione accademica e rischieresti di apprendere pratiche controproducenti.
PM Quote