Datei mit unbekanntem Namen öffnen

Gast #3062546
Lesenswert?
• ▲
▼
Hallo,

ich möchter in meinem C Programm eine Datei öffnen, was soweit auch kein 
Thema ist. Das Problem ist aber, dass sich der Name dieser Datei ändert 
und ich ihn nicht kenne. Ich weiss aber
- es handelt sich immer um eine .txt
- in diesem Ordner gibt es nur eine .txt
- ich kenne die Ordnerstruktur, die auch immer identisch ist.

Gibt es einen Weg, diese Datei mit unbekanntem Namen zu öffnen?

Gruß Christian
Gast #3062588
Lesenswert?
• ▲
▼
Vielen Dank schon einmal. Das mit dem Dir-Listing sagt mir gerade wenig 
aber darüber wird sich bestimmt einiges finden lassen.
Ist sowas mit einer Skriptsprache wie Python einfacher zu händeln? Würd 
mich gern mal mit dieser Sprache auseinander setzen und vielleicht wäre 
das damit einfacher?
#3063670
Lesenswert?
• ▲
▼
Christian schrieb:
> Karl schrieb:
>> Ist mit Python kein Thema und in weniger als 5 Zeilen Code erledigt.
>
> Auch über ein Dir-Listing oder welches Stichwort würde mir da in Python
> helfen?

Das da zum Beispiel:
http://docs.python.org/3/library/glob.html

So kannst du z.B. das gewünschte File ausgeben:
1
import glob
2
import fileinput
3
filenames = glob.glob('*.txt')
4
for line in fileinput.input(filenames[0]):
5
    print(line)

Errorhandling und derlei darf der geneigte Leser selbst hinzufügen.
Gast #3063917
Lesenswert?
• ▲
▼
Christian schrieb:
> Wie gesagt es handelt sich um ein C-Programm aber ein Python Skript wäre
> auch noch ok

Dann hier ein (getestetes) Beispiel in c:
////
#include <stdio.h>
#include <dir.h>

int main(void)
{
   struct _finddata_t f;
   FILE *datei;
   char st1[200];
   if(_findfirst("*.txt",&f))
    {
     printf("versuche %s zu oeffnen.\n",f.name);
     datei=fopen(f.name,"r");
     fgets(st1,190,datei);
     printf(st1);
     /* ... */
     fclose(datei);
    }
   return 0;
}
////
mfG vom ingo

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren