btw.: Hat die Seite irgendwo ein timeout?
Ich habe heute versucht etwas hochzuladen, aber das ist nicht im Forum angekommen?
Hier meine aktuelle Herausforderung:
Ich möchte Dateinamen aus einer Liste lesen und die Dateien dann anschließend öffen.
Mein Codeschnipsel sieht so aus:
Code: Alles auswählen
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *substr(char [], int start, int end);
int main(void)
{
  FILE *Datei;
  char Zeile[80];
  char *Dateiname;
  int Anzahl=0;
  int i;
  char Dateien[10][80];
  Datei = fopen("wert.dat", "r+b");
    while (!feof(Datei))
    {
      fgets(Zeile,120,Datei);
      if (strstr(Zeile,"$") != NULL  && strncmp(Zeile,"$",1) == 0 )
      {
        continue;
      }
      if (strstr(Zeile,"Name") != NULL )
      {
/*       printf("%s",Zeile);*/
        Dateiname=strtok(Zeile,"'");
        Dateiname=strtok(NULL,"'");
/*        printf("Dateiname: %s\n",Dateiname);*/
        Anzahl++;
        strcpy(&Dateien[Anzahl][80],Dateiname);
      }
   }
/*
*/
  printf("gelesene Dateinamen: %d\n",Anzahl);  
  for  (i=1;i<=Anzahl;i++)
  {
    printf("%d %s\n",i,Dateien[i][80]);  
/*
    Datei = fopen(Dateien[i][80], "r+b");
    while (!feof(Datei))
    {
      fgets(Zeile,120,Datei);
      printf("%s",Zeile);
    }
*/    
  }
  return 0;
}Code: Alles auswählen
Name  'abc.txt'
Name  'def.txt'
Name  'ghi.txt'
$Name  'ABC.txt'
NAME  'DEF.txt'Mein debugger liefert:
Program terminated with signal 11, Segmentation fault.
#0 0x000000379d771340 in strlen () from /lib64/tls/libc.so.6
Also was in der Funktion strlen, macht mich leider nicht wesentlich schlauer.
Ciao
Jürgen
P.S. das mit dem Fortran Tutorial überleg ich mir...




