Hallo,
habe hier einen kleinen Ausschnitt von einem C-Programm. Will als Parameter eine Datei übergeben in Form -dxxx xxx steht hierbei für den Dateinamen, sollte aber so sein, dass geprüft wird ob ein - steht, danach ob ein d steht und ich dann den Dateinamen habe, den ich später im Programm einlesen muß. Compilieren zeigt keinen Fehler, beim Ausführen mit den Parametern -dabcd zum Beispiel, bricht er mit der Fehlermeldung exe hat Fehler verursacht und wird abgebrochen ab. Wer kann helfen????????
int main (int argc, char *argv[] ) {
//Parameteruebergabe bei Programmaufruf
for (i=1; i<argc;i++)
{
if ((argv[i] [0]) == '-')
{
switch ((argv[i]) [1])
{
case 'd':
if(sscanf(argv[i]+2,"%c",&Byte_name) !=1)
FileSpecified=0;
else
FileSpecified=1;
for (int j=2;int halt=1;j++)
{
sscanf(argv[i]+j,"%c",&Byte_name);
Byte_name1=Byte_name;
if(Byte_name1 !='-')
{
Datei_name[j-2]=Byte_name1;
}
else
{
halt=1;
Datei_name[j-3]='\0';
break;
}
}
strcpy(File_name,Datei_name);
strcat(File_name,".lb0");;
break;
}
}
}
will danach die Datei einlesen mit:
if ( (werte = fopen(File_name,"rb"))==NULL)
{
printf("Fehler beim Lesen der Datei %s",File_name);
exit(0);
}
else
{
........... kann aber leider noch nicht überpruefen, ob dass dann auch funktioniert, da ich ja nicht soweit komme.
mfg
Nobody