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
// ************************************************************************************************
// 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);
}
}
}
// ************************************************************************************************
// 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
}
}
// ************************************************************************************************
// 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!");
}
}
}