Hallo. Ich habe ein Programm, das soll Daten in eine Datei schreiben. Jedoch soll der Dateiname eingelesen werden. Mein Problem ich bekomme es weder unter C noch unter C++ hin den Dateinamen an fopen zu übergeben oder fprintf oder sonstiges. Ich habe sehr viele Ansätze gefunden aber nie hat jemand mal dazu geschrieben welche Bibliothek man dazu braucht, oder wie man den Befehl entsprechend benutzt. gehört habe ich jetzt von Befehlen wie cout, cin, einer hat mit dem Befehl Ansistring einen temporären String erzeugt mit dem er gearbeitet hat, aber niemand hat gesagt welche Libaries man dafür braucht :-(. Über allgemeine Lösungen im Bereich von C wäre ich sehr sehr dankbar, wie man den Dateinamen in einem String einliest und dann diesen an fopen oder fprintf oder wie auch immer gibt, damit ich dann Ergebnisse in die Datei speichern kann, danke und Gruß Martin.
Wo hakts denn? Poste mal Code wie weit du kommst. Google: - man fopen - fopen example Gruß Roland
> Mein Problem ich bekomme es weder unter C noch unter C++ hin > den Dateinamen an fopen zu übergeben oder fprintf oder sonstiges Na, ja. So schwer ist das auch wieder nicht: int main() { char Dateiname[256]; /* Irgendwo muss jetzt der Dateiname herkommen. Der Einfachheit halber kopiere ich ihn mal nach 'Dateiname'. Du kannst den auch vom Benutzer einlesen oder was auch immer */ strcpy( Dateiname, "C:\\test.txt" ); /* und jetzt der fopen. */ fopen( Dateiname, "r" ); } Wo liegt denn da das Problem? Du definierst dir einen string (als char Array, wie unter C üblich) und übergibst das ganz einfach an fopen. VIelleicht wäre ein Einführungsbuch zur Programmierung in C mal eine tolle Investition.
> Jedoch soll der Dateiname eingelesen werden. Von wo? > Mein Problem ich bekomme es weder unter C noch unter C++ hin den > Dateinamen an fopen zu übergeben oder fprintf oder sonstiges. Wie versuchst du's denn? Was passiert bei dem Versuch? > Ich habe sehr viele Ansätze gefunden aber nie hat jemand mal dazu > geschrieben welche Bibliothek man dazu braucht, oder wie man den > Befehl entsprechend benutzt. Für fopen und fprintf braucht man keine spezielle Bibliothek. Die Funktionen ("Befehle" gibt's in C eigentlich nicht) sind Teil der C-Standardbibliothek, die in der Regel automatisch gelinkt wird. > gehört habe ich jetzt von Befehlen wie cout, cin, Das sind Objekte. Sie sind Teil der C++-Standardbibliothek und existieren in C nicht. > einer hat mit dem Befehl Ansistring einen temporären String > erzeugt mit dem er gearbeitet hat, aber niemand hat gesagt welche > Libaries man dafür braucht :-(. Ich habe keine Ahnung, was "Ansistring" ist und zu welcher Bibliothek es gehört. > Über allgemeine Lösungen im Bereich von C wäre ich sehr > sehr dankbar, wie man den Dateinamen in einem String einliest Nochmal: von wo willst du ihn lesen? > und dann diesen an fopen oder fprintf oder wie auch immer gibt, An fprintf gibts du den Dateinamen nicht, außer, wenn du ihn in eine Datei schreiben willst. Zuerst muß die Datei mit fopen geöffnet werden. Diese gibt dir einen FILE* zurück, den du dann benutzt, um die Aktionen (z.B. fprintf) durchzuführen. Am Ende schließt du die Datei mit fclose wieder. Wie die Funktionen aufzurufen sind, steht normalerweise im Handbuch des Compilers.
> Ich habe keine Ahnung, was "Ansistring" ist und zu welcher
Bibliothek es gehört.
Vermutlich eine Erfindung von Borland.
Aus der DSTRING.H (Borland C++ Builder): /-- AnsiString: String class compatible with Delphi's Native 'string' type --/
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.