Miten tämä saadaan toimimaan?

aloittelija ohjelmoija

#include
#include

int main(int argc, char *argv[])
{
FILE *from, *to;
char ch;


if(argc!=3) {
printf("Usage: copy \n");
exit(1);
}

/* open source file */
if((from = fopen(argv[1], "rb"))==NULL) {
printf("Cannot open source file.\n");
exit(1);
}

/* open destination file */
if((to = fopen(argv[2], "wb"))==NULL) {
printf("Cannot open destination file.\n");
exit(1);
}

/* copy the file */
while(!feof(from)) {
ch = fgetc(from);
if(ferror(from)) {
printf("Error reading source file.\n");
exit(1);
}
if(!feof(from)) fputc(ch, to);
if(ferror(to)) {
printf("Error writing destination file.\n");
exit(1);
}
}

if(fclose(from)==EOF) {
printf("Error closing source file.\n");
exit(1);
}

if(fclose(to)==EOF) {
printf("Error closing destination file.\n");
exit(1);
}

return 0;
}

lähde: http://www.java2s.com/Code/C/File/Copyafile.htm

Tämä esimerkki ei toimi...? MIten tuota käytetään tai mitä tuohon pitää lisätä/muuttaa jotta se toimisi?

4

631

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • aloittelija....

      Tällaisen sain toimimaan

      #include
      #include
      //#include

      int main(void)
      {
      FILE *fs,*ft;
      char ch;

      //int arg=3;
      char from[]="C:\\Downloads\\kokeilu.txt";
      char to[]="E:\\kokeiluUsb.txt";
      //arr[1]=from;
      //arr[2]=to;

      /*if(arg!=3)
      {
      printf("Argument Missing ! Press key to exit.");
      getch();
      //exit(1);
      }*/

      fs = fopen(from,"r");

      if(fs==NULL)
      {
      printf("Cannot open source file ! Press key to exit.");
      getch();
      //exit(1);
      }

      ft = fopen(to,"w");
      if(ft==NULL)
      {
      printf("Cannot copy file ! Press key to exit.");
      fclose(fs);
      getch();
      //exit(1);
      }

      while(1)
      {
      ch = getc(fs);
      if(ch==EOF)
      {
      break;
      }
      else
      putc(ch,ft);
      }

      printf("File copied succesfully!");
      fclose(fs);
      fclose(ft);

      return 0;
      }

      • aloittelija----

        Mitä tämä meinaa tuossa 1. esimerkissä että nuo int arg ja char *argv[] ovat parametreinä main-ohjelmassa?


      • it-hemmo
        aloittelija---- kirjoitti:

        Mitä tämä meinaa tuossa 1. esimerkissä että nuo int arg ja char *argv[] ovat parametreinä main-ohjelmassa?

        parametrejä:
        argc parametrien lukumäärä
        argv parametrit c-stringeinä

        main function pitäisi aina olla esimerkin 1 mukainen.
        Sen lisäksi jotkin kääntäjät/ympäristöt tukevat kolmen parametrin muotoa (kolmas sisältää ympäristömuutujat)


      • ggesgrreter
        it-hemmo kirjoitti:

        parametrejä:
        argc parametrien lukumäärä
        argv parametrit c-stringeinä

        main function pitäisi aina olla esimerkin 1 mukainen.
        Sen lisäksi jotkin kääntäjät/ympäristöt tukevat kolmen parametrin muotoa (kolmas sisältää ympäristömuutujat)

        Tuota noin... miksi koulussa sitten aina on vain int main(void)

        Ja onko tuo *argv osoitin?


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. 20v on otettu kiinni

      Tulipalo oli sytytetty joten murhasiko ex omat lapsensa ja heidän Äidin. Tuskin sitä kukaan ohikulkijakaan sytytti.
      Savonlinna
      121
      7515
    2. Somali ei kätellyt Stubbia Linnan juhlissa

      Miksei somali osaa noudattaa hyviä käytöstapoja. https://www.iltalehti.fi/viihdeuutiset/a/563a3dea-fa3f-41f3-b64f-406d2
      Maailman menoa
      660
      4874
    3. Kuka on menehtynyt?

      https://yle.fi/a/74-20198293 Kuulemani mukaan ryyppyporukka ollut hapualla ja kuolemanenkeli (F.G) eli mies jonka seuras
      Kankaanpää
      24
      3194
    4. Nainen, ota nyt rauhallisesti

      Älä ota kaiken maailman murheita päällesi. Sulla on tapana ottaa elämä liian vakavasti. Ei aina, mutta joskus menee vähä
      Ikävä
      138
      1327
    5. 50
      1325
    6. Savonlinan perhesurma, epäilty mies romani, äiti kantaväestöä

      https://www.is.fi/kotimaa/art-2000011676508.html Savonlinnan seudun romaniyhdistyksestä kerrottiin lauantaina IS:lle, e
      Maailman menoa
      93
      1214
    7. Savonlinnan murhapolttaja romani

      Ainakin IS kertoo. Arvasin heti ettei ole normi valkolainen suomalainen.
      Maailman menoa
      159
      1156
    8. Ajattelen sinua kiitollisuudella

      Olet minulle jotain kaunista, jotain, joka tapahtui elämässäni. Et ole minulle pakkomielle enkä vaadi sinulta yhtään mi
      Ikävä
      55
      983
    9. Mitä meidän välillä

      Tapahtuu lopulta?
      Ikävä
      17
      892
    10. Sinulle tiedoksi

      Olen paljon miettinyt sitä hetkeä, kun uskalsin näyttää pienin elein ja kertoa pienesti, eli hyvin hillitysti sinulle si
      Ikävä
      27
      873
    Aihe