Anzeige

VBA
Programmierer
gesucht?
 
Anzeige
VBA Programmierer gesucht?
 

Einfache C/C++ Beispiele für Einsteiger

Dateiverarbeitung und Parameterübergabe an das Betriebssystem

Folgend finden Sie drei Programme, welche mit Paramterübergabe an das Betriebssystem arbeiten.
      - Schreiben von Zufallszahlen in eine Datei
      - Sortieren eines Dateiinhaltes
      - Prüfprogramm, ob ein Dateiinhalt sortiert ist

Schreiben von Zufallszahlen in eine Datei

// ************************************************************************************************
// Autor/en: http://www.online-vba.de - Marc Wershoven
// Verwendung der Quelltexte auf eigene Gefahr!
// Es gelten die Nutzungsbedingungen von www.Online-VBA.de!
// Original-Quelltext: www.online-vba.de/cpp_dateizugriff.php
// ************************************************************************************************

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

void main(int argc, char ** argv[])
{
     int rc=0, i;
     FILE* file;
    
  //Randome Generator einschalten
     srand( (unsigned)time( NULL ) );
    
     if(argc!=3) //Nur bei 2 Argumenten starten
     {
         printf("usage is: %s <filename> <count>\n",argv[0]);
     }
      else
     {
         file=fopen((const char *)argv[1],"w"); //Datei öffnen
         if(file==NULL)
             printf("Fehler beim Oeffnen der Datei");
          else
         {
             for(i=0;i<(atoi((const char *)argv[2]));i++) //Anzahl mal
             {
                 fprintf(file,"%i",rand()); //Zufallszahl
                 fprintf(file,"%c", " "); //Differenzierungszeichen
             }
              fclose(file);
         }
     }
}


Sortieren eines Dateiinhaltes

// ************************************************************************************************
// Autor/en: http://www.online-vba.de - Marc Wershoven
// Verwendung der Quelltexte auf eigene Gefahr!
// Es gelten die Nutzungsbedingungen von www.Online-VBA.de!
// Original-Quelltext: www.online-vba.de/cpp_dateizugriff.php
// ************************************************************************************************

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void main(int argc, char ** argv[])
{
     int rc=0, counter=0, i, input, help;
     int * feld;
     FILE* file;
    
     if(argc!=2) //Nur bei 1 Argument starten
         printf("usage is: %s <filename>\n",argv[0]);
     else
     {
       //Herausfinden der Anzahl der Zahlen
         file=fopen((const char *)argv[1],"r");
         if(file==NULL)
             printf("Fehler beim Oeffnen der Datei");
         else
         {
             rc=fscanf(file,"%i", &input);
             while(rc!=EOF) //bis Dateiende
             {
                 counter++;
                 rc=fscanf(file,"%i", &input);
             }
             fclose(file);
         }
        
       //Array anlegen
         feld=(int*) malloc(counter*sizeof(int));
       //Einlesen der Zahlen in ein Array
         file=fopen((const char *)argv[1],"r");
         if(file==NULL)
             printf("Fehler beim Oeffnen der Datei");
         else
         {
             for(i=0;i<counter;i++)
             {
                 rc=fscanf(file,"%i", &input);
                 feld[i]=input;
             }
             fclose(file);
         }
        
       //BubbleSort auf Array anwenden
         for(i=0;i<counter;i++)
         {
             for(int j=(counter-2);j>=0;j--)
             {
                 if (feld[j]>feld[j+1])
                 {
                     help=feld[j];
                     feld[j]=feld[j+1];
                     feld[j+1]=help;
                 }
             }
         }
        
       //Schreiben des sortierten Arrays in die Datei
         file=fopen((const char *)argv[1],"w");
         if(file==NULL)
             printf("Fehler beim Oeffnen der Datei");
         else
         {
             for(i=0;i<counter;i++)
             {
                 fprintf(file,"%i", feld[i]);
                 fprintf(file,"%c", " ");
             }
             fclose(file);
         }
        
  //ENDE else von oben
     }
}


Prüfprogramm, ob ein Dateiinhalt sortiert ist

// ************************************************************************************************
// Autor/en: http://www.online-vba.de - Marc Wershoven
// Verwendung der Quelltexte auf eigene Gefahr!
// Es gelten die Nutzungsbedingungen von www.Online-VBA.de!
// Original-Quelltext: www.online-vba.de/cpp_dateizugriff.php
// ************************************************************************************************

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void main(int argc, char ** argv[])
{
     int rc=0, sortflag=0, input, help=0;
     FILE* file;
    
     if(argc!=2) //Nur bei 1 Argument starten
         printf("usage is: %s <filename>\n",argv[0]);
     else
     {
      //Testen ob Zahl immer kleiner ist
         file=fopen((const char *)argv[1],"r");
         if(file==NULL)
             printf("Fehler beim Oeffnen der Datei");
         else
         {
             rc=fscanf(file,"%i", &input);
             while(rc!=EOF) //bis Dateiende
             {
                 if (!(help<input))
                     sortflag=1;
                 help=input;
                 rc=fscanf(file,"%i", &input);
             }
             fclose(file);
            
             if (sortflag==1)
                 printf("Der Inhalt ist nicht sortiert!");
             else
                 printf("Der Inhalt ist sortiert!");
         }
     }
}



Autor: Marc Wershoven (2001)

Zum Seitenanfang