Dateinamen den ich öffnen möchte mitgeben!
-
Hi,
ich will das man ein Textfile öffnen kann, aber der user soll selber den dateinamen eingeben ... also so:
cout<<"Bitte geben Sie den Dateinamen ein, aus dem Sie lesen möchten: ";
cin>> d;FILE *pf;
int chr;pf = fopen(d, "r");
if(!pf)
{funzt aber net! Ich bekomm folgende Meldung:
error C2664: 'fopen' : Konvertierung des Parameters 1 von 'char' in 'const char *' nicht moeglich Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
sagt mir nur "Bahnhof" drum bin ich für eure Hilfe dankbar!
bye
-
d kann nicht string kein, es muss char* sein. Oder c_str() Methode benutzen (falls d string ist)
-
Wie hast du d deklariert?
-
datei_lesen() { char d; cout<<"Bitte geben Sie den Dateinamen ein, aus dem Sie lesen möchten: "; cin>> d; FILE *pf; int chr; pf = fopen(d, "r"); ....
-
wieso liest du meine Antwort nicht? Da steht alles.
Kein Wunder, dass das nicht geht, denn char d ist die Deklaration für ein einzlenes Zeichen, wenn du eine Zeichenkette haben willst, brauchst du char*
-
Wohl eher char[]
Ich möchte noch anmerken, dass das hier das ANSI C Forum ist und der Quellcode eindeutig nicht ANSI C ist.
-
Für C:
#include <stdio.h> char filename [128]; printf("Geben Sie den Dateinamen ein:\n"); fgets(filename,128,stdin); FILE* file; file = fopen(filename,"r");
Für C++:
#include <iostream> #include <fstream> #include <string> using namespace std; string filename; cout << "Geben Sie den Dateinamen ein:" << endl; getline(cin,filename); ifstream file; file.open(filename.c_str());
MfG SideWinder
-
vielen Dank!
p.s.: sorry, ich programmier erst seit ner woche, hab also noch so gut wie kein plan (und des auch noch von gra nix!)